Message ID | 20200129033210.278800-19-nicolas@ndufresne.ca |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Nicolas, Thank you for the patch. On Tue, Jan 28, 2020 at 10:32:05PM -0500, Nicolas Dufresne wrote: > From: Nicolas Dufresne <nicolas.dufresne@collabora.com> > > This add get/set helper to store a pool on the pad. s/add/adds/ > > Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@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 b18584c..b9e6dc5 100644 > --- a/src/gstreamer/gstlibcamerapad.cpp > +++ b/src/gstreamer/gstlibcamerapad.cpp > @@ -16,6 +16,7 @@ using namespace libcamera; > struct _GstLibcameraPad { > GstPad parent; > StreamRole role; > + GstLibcameraPool *pool; > }; > > enum { > @@ -107,3 +108,20 @@ gst_libcamera_pad_get_role(GstPad *pad) > GST_OBJECT_LOCKER(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 3dea0e7..4570c0c 100644 > --- a/src/gstreamer/gstlibcamerapad.h > +++ b/src/gstreamer/gstlibcamerapad.h > @@ -9,6 +9,8 @@ > #include <gst/gst.h> > #include <libcamera/stream.h> > > +#include "gstlibcamerapool.h" > + > #ifndef __GST_LIBCAMERA_PAD_H__ > #define __GST_LIBCAMERA_PAD_H__ > > @@ -18,4 +20,8 @@ G_DECLARE_FINAL_TYPE(GstLibcameraPad, gst_libcamera_pad, > > 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__ */
diff --git a/src/gstreamer/gstlibcamerapad.cpp b/src/gstreamer/gstlibcamerapad.cpp index b18584c..b9e6dc5 100644 --- a/src/gstreamer/gstlibcamerapad.cpp +++ b/src/gstreamer/gstlibcamerapad.cpp @@ -16,6 +16,7 @@ using namespace libcamera; struct _GstLibcameraPad { GstPad parent; StreamRole role; + GstLibcameraPool *pool; }; enum { @@ -107,3 +108,20 @@ gst_libcamera_pad_get_role(GstPad *pad) GST_OBJECT_LOCKER(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 3dea0e7..4570c0c 100644 --- a/src/gstreamer/gstlibcamerapad.h +++ b/src/gstreamer/gstlibcamerapad.h @@ -9,6 +9,8 @@ #include <gst/gst.h> #include <libcamera/stream.h> +#include "gstlibcamerapool.h" + #ifndef __GST_LIBCAMERA_PAD_H__ #define __GST_LIBCAMERA_PAD_H__ @@ -18,4 +20,8 @@ G_DECLARE_FINAL_TYPE(GstLibcameraPad, gst_libcamera_pad, 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__ */