[libcamera-devel] [PATCH v3 18/27] gst: libcamerapad: Allow storing a pool

Nicolas Dufresne nicolas at ndufresne.ca
Fri Mar 6 21:26:28 CET 2020


From: Nicolas Dufresne <nicolas.dufresne at collabora.com>

This adds get/set helper to store a pool on the pad.

Signed-off-by: Nicolas Dufresne <nicolas.dufresne at collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/gstreamer/gstlibcamerapad.cpp | 18 ++++++++++++++++++
 src/gstreamer/gstlibcamerapad.h   |  6 ++++++
 2 files changed, 24 insertions(+)

diff --git a/src/gstreamer/gstlibcamerapad.cpp b/src/gstreamer/gstlibcamerapad.cpp
index ed24557..dbe3361 100644
--- a/src/gstreamer/gstlibcamerapad.cpp
+++ b/src/gstreamer/gstlibcamerapad.cpp
@@ -17,6 +17,7 @@ using namespace libcamera;
 struct _GstLibcameraPad {
 	GstPad parent;
 	StreamRole role;
+	GstLibcameraPool *pool;
 };
 
 enum {
@@ -108,3 +109,20 @@ gst_libcamera_pad_get_role(GstPad *pad)
 	GLibLocker lock(GST_OBJECT(self));
 	return self->role;
 }
+
+GstLibcameraPool *
+gst_libcamera_pad_get_pool(GstPad *pad)
+{
+	auto *self = GST_LIBCAMERA_PAD(pad);
+	return self->pool;
+}
+
+void
+gst_libcamera_pad_set_pool(GstPad *pad, GstLibcameraPool *pool)
+{
+	auto *self = GST_LIBCAMERA_PAD(pad);
+
+	if (self->pool)
+		g_object_unref(self->pool);
+	self->pool = pool;
+}
diff --git a/src/gstreamer/gstlibcamerapad.h b/src/gstreamer/gstlibcamerapad.h
index f0a5e32..b03f47a 100644
--- a/src/gstreamer/gstlibcamerapad.h
+++ b/src/gstreamer/gstlibcamerapad.h
@@ -9,6 +9,8 @@
 #ifndef __GST_LIBCAMERA_PAD_H__
 #define __GST_LIBCAMERA_PAD_H__
 
+#include "gstlibcamerapool.h"
+
 #include <gst/gst.h>
 
 #include <libcamera/stream.h>
@@ -18,4 +20,8 @@ G_DECLARE_FINAL_TYPE(GstLibcameraPad, gst_libcamera_pad, GST_LIBCAMERA, PAD, Gst
 
 libcamera::StreamRole gst_libcamera_pad_get_role(GstPad *pad);
 
+GstLibcameraPool *gst_libcamera_pad_get_pool(GstPad *pad);
+
+void gst_libcamera_pad_set_pool(GstPad *pad, GstLibcameraPool *pool);
+
 #endif /* __GST_LIBCAMERA_PAD_H__ */
-- 
2.24.1



More information about the libcamera-devel mailing list