From 287e4f82bd0e94b936b2cbc420aa1fa5645d1503 Mon Sep 17 00:00:00 2001 From: Dafna Hirschfeld Date: Thu, 25 Feb 2021 17:11:06 +0100 Subject: gst: Use the streams of CameraConfiguration when allocating buffers Currently, when allocating buffers, the streams of the Camera object are used. Instead the streams of the CameraConfiguration object should be used. This is because the Camera object holds all available streams while the CameraConfiguration holds only the streams associated with the current configuration. Signed-off-by: Dafna Hirschfeld Reviewed-by: Nicolas Dufresne Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- src/gstreamer/gstlibcameraallocator.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/gstreamer/gstlibcameraallocator.cpp') diff --git a/src/gstreamer/gstlibcameraallocator.cpp b/src/gstreamer/gstlibcameraallocator.cpp index 13c6b493..7bd8ba2d 100644 --- a/src/gstreamer/gstlibcameraallocator.cpp +++ b/src/gstreamer/gstlibcameraallocator.cpp @@ -183,13 +183,15 @@ gst_libcamera_allocator_class_init(GstLibcameraAllocatorClass *klass) } GstLibcameraAllocator * -gst_libcamera_allocator_new(std::shared_ptr camera) +gst_libcamera_allocator_new(std::shared_ptr camera, + CameraConfiguration *config_) { auto *self = GST_LIBCAMERA_ALLOCATOR(g_object_new(GST_TYPE_LIBCAMERA_ALLOCATOR, nullptr)); self->fb_allocator = new FrameBufferAllocator(camera); - for (Stream *stream : camera->streams()) { + for (StreamConfiguration &streamCfg : *config_) { + Stream *stream = streamCfg.stream(); gint ret; ret = self->fb_allocator->allocate(stream); -- cgit v1.2.1