[PATCH 2/3] gstreamer: Add support for read- and write-only controls

Nicolas Dufresne nicolas at ndufresne.ca
Tue Apr 22 17:50:28 CEST 2025


Le mardi 22 avril 2025 à 16:25 +0200, Jaslo Ziska a écrit :
> Signed-off-by: Jaslo Ziska <jaslo at ziska.de>
> ---
>  src/gstreamer/gstlibcamera-controls.cpp.in | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/src/gstreamer/gstlibcamera-controls.cpp.in b/src/gstreamer/gstlibcamera-controls.cpp.in
> index 28604a3c..b38038ca 100644
> --- a/src/gstreamer/gstlibcamera-controls.cpp.in
> +++ b/src/gstreamer/gstlibcamera-controls.cpp.in
> @@ -126,7 +126,13 @@ g_param_spec_{{ ctrl.gtype }}(
>  {%- endif %}
>  	(GParamFlags) (GST_PARAM_CONDITIONALLY_AVAILABLE |
>  		       GST_PARAM_CONTROLLABLE |
> +{%- if ctrl.direction == 'ControlId::Direction::In' %}
> +		       G_PARAM_WRITABLE |
> +{%- elif ctrl.direction == 'ControlId::Direction::Out' %}
> +		       G_PARAM_READABLE |
> +{%- else %}
>  		       G_PARAM_READWRITE |
> +{%- endif %}
>  		       G_PARAM_STATIC_STRINGS)
>  )
>  {%- endset %}
> @@ -142,7 +148,13 @@ g_param_spec_{{ ctrl.gtype }}(
>  			{{ spec|indent_str('\t\t\t') }},
>  			(GParamFlags) (GST_PARAM_CONDITIONALLY_AVAILABLE |
>  				       GST_PARAM_CONTROLLABLE |
> +{%- if ctrl.direction == 'ControlId::Direction::In' %}
> +				       G_PARAM_WRITABLE |
> +{%- elif ctrl.direction == 'ControlId::Direction::Out' %}
> +				       G_PARAM_READABLE |
> +{%- else %}
>  				       G_PARAM_READWRITE |
> +{%- endif %}
>  				       G_PARAM_STATIC_STRINGS)
>  		)
>  {%- else %}

Looks good to me, just wondering though why is that duplicated ?

Reviewed-by: Nicolas Dufresne <nicolas.dufresne at collabora.com>


More information about the libcamera-devel mailing list