summaryrefslogtreecommitdiff
path: root/src/gstreamer/gstlibcamerapad.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gstreamer/gstlibcamerapad.cpp')
-rw-r--r--src/gstreamer/gstlibcamerapad.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/gstreamer/gstlibcamerapad.cpp b/src/gstreamer/gstlibcamerapad.cpp
index 7b22aebe..3bc2bc87 100644
--- a/src/gstreamer/gstlibcamerapad.cpp
+++ b/src/gstreamer/gstlibcamerapad.cpp
@@ -18,6 +18,8 @@ struct _GstLibcameraPad {
GstPad parent;
StreamRole role;
GstLibcameraPool *pool;
+ GstBufferPool *video_pool;
+ GstVideoInfo info;
GstClockTime latency;
};
@@ -153,6 +155,35 @@ gst_libcamera_pad_set_pool(GstPad *pad, GstLibcameraPool *pool)
self->pool = pool;
}
+GstBufferPool *
+gst_libcamera_pad_get_video_pool(GstPad *pad)
+{
+ auto *self = GST_LIBCAMERA_PAD(pad);
+ return self->video_pool;
+}
+
+void gst_libcamera_pad_set_video_pool(GstPad *pad, GstBufferPool *video_pool)
+{
+ auto *self = GST_LIBCAMERA_PAD(pad);
+
+ if (self->video_pool)
+ g_object_unref(self->video_pool);
+ self->video_pool = video_pool;
+}
+
+GstVideoInfo gst_libcamera_pad_get_video_info(GstPad *pad)
+{
+ auto *self = GST_LIBCAMERA_PAD(pad);
+ return self->info;
+}
+
+void gst_libcamera_pad_set_video_info(GstPad *pad, const GstVideoInfo *info)
+{
+ auto *self = GST_LIBCAMERA_PAD(pad);
+
+ self->info = *info;
+}
+
Stream *
gst_libcamera_pad_get_stream(GstPad *pad)
{