[libcamera-devel] [PATCH v1 18/23] gst: libcamerapad: Allow storing a pool
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Feb 12 01:23:46 CET 2020
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 at collabora.com>
>
> This add get/set helper to store a pool on the pad.
s/add/adds/
>
> 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 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__ */
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list