From d41b356564caef80ceee4096405a1ef439976cfa Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Tue, 21 Jan 2020 17:16:40 -0500 Subject: gst: libcamerapad: Add a method to access the role Each pad can have a different roles. Users will have to request and configure their pads role before moving to a higher state. Signed-off-by: Nicolas Dufresne Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- src/gstreamer/gstlibcamerapad.cpp | 8 ++++++++ src/gstreamer/gstlibcamerapad.h | 10 ++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src/gstreamer') diff --git a/src/gstreamer/gstlibcamerapad.cpp b/src/gstreamer/gstlibcamerapad.cpp index ca5c8203..ed24557b 100644 --- a/src/gstreamer/gstlibcamerapad.cpp +++ b/src/gstreamer/gstlibcamerapad.cpp @@ -100,3 +100,11 @@ gst_libcamera_pad_class_init(GstLibcameraPadClass *klass) | G_PARAM_STATIC_STRINGS)); g_object_class_install_property(object_class, PROP_STREAM_ROLE, spec); } + +StreamRole +gst_libcamera_pad_get_role(GstPad *pad) +{ + auto *self = GST_LIBCAMERA_PAD(pad); + GLibLocker lock(GST_OBJECT(self)); + return self->role; +} diff --git a/src/gstreamer/gstlibcamerapad.h b/src/gstreamer/gstlibcamerapad.h index 2e745f12..f0a5e32a 100644 --- a/src/gstreamer/gstlibcamerapad.h +++ b/src/gstreamer/gstlibcamerapad.h @@ -6,14 +6,16 @@ * gstlibcamerapad.h - GStreamer Capture Element */ -#include - #ifndef __GST_LIBCAMERA_PAD_H__ #define __GST_LIBCAMERA_PAD_H__ +#include + +#include + #define GST_TYPE_LIBCAMERA_PAD gst_libcamera_pad_get_type() -G_DECLARE_FINAL_TYPE(GstLibcameraPad, gst_libcamera_pad, - GST_LIBCAMERA, PAD, GstPad) +G_DECLARE_FINAL_TYPE(GstLibcameraPad, gst_libcamera_pad, GST_LIBCAMERA, PAD, GstPad) +libcamera::StreamRole gst_libcamera_pad_get_role(GstPad *pad); #endif /* __GST_LIBCAMERA_PAD_H__ */ -- cgit v1.2.1