summaryrefslogtreecommitdiff
path: root/src/gstreamer/gstlibcamerapool.h
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2020-01-25 17:47:17 -0500
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-07 01:58:07 +0200
commitbde275408c7f614ccf6e440bdd747f7b663fafe6 (patch)
treef02635a9338550ba454583678636020793e25bc7 /src/gstreamer/gstlibcamerapool.h
parentd343326d28dd03877dd3d602c5494b5887ac34e5 (diff)
gst: Add a pool and an allocator implementation
This is needed to track the lifetime of the FrameBufferAllocator in relation to the GstBuffer/GstMemory objects travelling inside GStreamer. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/gstreamer/gstlibcamerapool.h')
-rw-r--r--src/gstreamer/gstlibcamerapool.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/gstreamer/gstlibcamerapool.h b/src/gstreamer/gstlibcamerapool.h
new file mode 100644
index 00000000..c0a04cfb
--- /dev/null
+++ b/src/gstreamer/gstlibcamerapool.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2020, Collabora Ltd.
+ * Author: Nicolas Dufresne <nicolas.dufresne@collabora.com>
+ *
+ * gstlibcamerapool.h - GStreamer Buffer Pool
+ *
+ * This is a partial implementation of GstBufferPool intended for internal use
+ * only. This pool cannot be configured or activated.
+ */
+
+#ifndef __GST_LIBCAMERA_POOL_H__
+#define __GST_LIBCAMERA_POOL_H__
+
+#include "gstlibcameraallocator.h"
+
+#include <gst/gst.h>
+
+#include <libcamera/stream.h>
+
+#define GST_TYPE_LIBCAMERA_POOL gst_libcamera_pool_get_type()
+G_DECLARE_FINAL_TYPE(GstLibcameraPool, gst_libcamera_pool, GST_LIBCAMERA, POOL, GstBufferPool)
+
+GstLibcameraPool *gst_libcamera_pool_new(GstLibcameraAllocator *allocator,
+ libcamera::Stream *stream);
+
+#endif /* __GST_LIBCAMERA_POOL_H__ */