From bde275408c7f614ccf6e440bdd747f7b663fafe6 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Sat, 25 Jan 2020 17:47:17 -0500 Subject: 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 Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- src/gstreamer/meson.build | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/gstreamer/meson.build') diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build index 5324b2f5..1965b504 100644 --- a/src/gstreamer/meson.build +++ b/src/gstreamer/meson.build @@ -1,7 +1,9 @@ libcamera_gst_sources = [ 'gstlibcamera-utils.cpp', 'gstlibcamera.c', + 'gstlibcameraallocator.cpp', 'gstlibcamerapad.cpp', + 'gstlibcamerapool.cpp', 'gstlibcameraprovider.cpp', 'gstlibcamerasrc.cpp', ] @@ -13,10 +15,13 @@ libcamera_gst_c_args = [ glib_dep = dependency('glib', required : get_option('gstreamer')) -gst_dep = dependency('gstreamer-video-1.0', version : '>=1.14.0', - required : get_option('gstreamer')) +gst_dep_version = '>=1.14.0' +gstvideo_dep = dependency('gstreamer-video-1.0', version : gst_dep_version, + required : get_option('gstreamer')) +gstallocator_dep = dependency('gstreamer-allocators-1.0', version : gst_dep_version, + required : get_option('gstreamer')) -if glib_dep.found() and gst_dep.found() +if glib_dep.found() and gstvideo_dep.found() and gstallocator_dep.found() # The G_DECLARE_FINAL_TYPE macro creates static inline functions that were # not marked as possibly unused prior to GLib v2.63.0. This causes clang to # complain about the ones we are not using. Silence the -Wunused-function @@ -28,7 +33,7 @@ if glib_dep.found() and gst_dep.found() libcamera_gst = shared_library('gstlibcamera', libcamera_gst_sources, c_args : libcamera_gst_c_args, - dependencies : [libcamera_dep, gst_dep], + dependencies : [libcamera_dep, gstvideo_dep, gstallocator_dep], install: true, install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')), ) -- cgit v1.2.1