[libcamera-devel] [PATCH v1] gstreamer: Simplify camera config generation call

Umang Jain umang.jain at ideasonboard.com
Tue May 2 23:13:45 CEST 2023


Hi Barnabas,

Thank you for the patch

On 5/2/23 11:28 PM, Barnabás Pőcze via libcamera-devel wrote:
> Instead of explicitly creating a vector of StreamRole,
> simply use an initializer list as the argument of
> `Camera::generateConfiguration()`.
>
> Signed-off-by: Barnabás Pőcze <pobrn at protonmail.com>
> ---
>   src/gstreamer/gstlibcameraprovider.cpp | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/src/gstreamer/gstlibcameraprovider.cpp b/src/gstreamer/gstlibcameraprovider.cpp
> index 6eb0a0eb..4f325ad4 100644
> --- a/src/gstreamer/gstlibcameraprovider.cpp
> +++ b/src/gstreamer/gstlibcameraprovider.cpp
> @@ -128,11 +128,9 @@ gst_libcamera_device_new(const std::shared_ptr<Camera> &camera)
>   {
>   	g_autoptr(GstCaps) caps = gst_caps_new_empty();
>   	const gchar *name = camera->id().c_str();
> -	StreamRoles roles;
>
> -	roles.push_back(StreamRole::VideoRecording);
> -	std::unique_ptr<CameraConfiguration> config = camera->generateConfiguration(roles);
> -	if (!config || config->size() != roles.size()) {

I would leave it as it is, as it's easier to add new roles (just a 
.push_back() call) and the adjoining pieces automatically makes it fall 
into place..
> +	std::unique_ptr<CameraConfiguration> config = camera->generateConfiguration({ StreamRole::VideoRecording });
> +	if (!config || config->size() != 1) {
>   		GST_ERROR("Failed to generate a default configuration for %s", name);
>   		return nullptr;
>   	}
> --
> 2.40.1
>
>



More information about the libcamera-devel mailing list