[PATCH 1/3] gstreamer: Add GST_PARAM_CONDITIONALLY_AVAILABLE flag to properties
Nicolas Dufresne
nicolas at ndufresne.ca
Tue Apr 22 17:48:18 CEST 2025
Hi,
Le mardi 22 avril 2025 à 16:25 +0200, Jaslo Ziska a écrit :
> Add the GST_PARAM_CONDITIONALLY_AVAILABLE flag to the camera properties
> to mark the property as conditionally available, i.e. it might only be
> present depending on the camera / pipeline.
This is a slight miss-match. GST_PARAM_CONDITIONALLY_AVAILABLE was only
indented to endup in generated documentation, since when the property
is not available its actually not installed at all. The ideal was to
tell developers to never systematically set these properties.
Since we don't have GStreamer elements per-camera, and that properties
cannot be included / removed per instance, doing the GOBject
introspection to figure-out if the property is installed will always
succeed.
In that sense, this change does not have a lot of value to me.
Nicolas
>
> Signed-off-by: Jaslo Ziska <jaslo at ziska.de>
> ---
> src/gstreamer/gstlibcamera-controls.cpp.in | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/src/gstreamer/gstlibcamera-controls.cpp.in b/src/gstreamer/gstlibcamera-controls.cpp.in
> index 89c530da..28604a3c 100644
> --- a/src/gstreamer/gstlibcamera-controls.cpp.in
> +++ b/src/gstreamer/gstlibcamera-controls.cpp.in
> @@ -124,7 +124,9 @@ g_param_spec_{{ ctrl.gtype }}(
> {%- elif ctrl.gtype in ['float', 'int', 'int64', 'uchar'] %}
> {{ ctrl.min }}, {{ ctrl.max }}, {{ ctrl.default }},
> {%- endif %}
> - (GParamFlags) (GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE |
> + (GParamFlags) (GST_PARAM_CONDITIONALLY_AVAILABLE |
> + GST_PARAM_CONTROLLABLE |
> + G_PARAM_READWRITE |
> G_PARAM_STATIC_STRINGS)
> )
> {%- endset %}
> @@ -138,7 +140,8 @@ g_param_spec_{{ ctrl.gtype }}(
> "{{ ctrl.name }}",
> {{ ctrl.description|format_description|indent_str('\t\t\t') }},
> {{ spec|indent_str('\t\t\t') }},
> - (GParamFlags) (GST_PARAM_CONTROLLABLE |
> + (GParamFlags) (GST_PARAM_CONDITIONALLY_AVAILABLE |
> + GST_PARAM_CONTROLLABLE |
> G_PARAM_READWRITE |
> G_PARAM_STATIC_STRINGS)
> )
More information about the libcamera-devel
mailing list