summaryrefslogtreecommitdiff
path: root/src/gstreamer/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/gstreamer/meson.build')
-rw-r--r--src/gstreamer/meson.build23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build
index 20784b71..fd83e073 100644
--- a/src/gstreamer/meson.build
+++ b/src/gstreamer/meson.build
@@ -25,6 +25,17 @@ libcamera_gst_sources = [
'gstlibcamerasrc.cpp',
]
+# Generate gstreamer control properties
+
+gen_gst_controls_template = files('gstlibcamera-controls.cpp.in')
+libcamera_gst_sources += custom_target('gstlibcamera-controls.cpp',
+ input : controls_files,
+ output : 'gstlibcamera-controls.cpp',
+ command : [gen_gst_controls, '-o', '@OUTPUT@',
+ '-t', gen_gst_controls_template, '@INPUT@'],
+ depend_files : [py_mod_controls],
+ env : py_build_env)
+
libcamera_gst_cpp_args = [
'-DVERSION="@0@"'.format(libcamera_git_version),
'-DPACKAGE="@0@"'.format(meson.project_name()),
@@ -46,3 +57,15 @@ libcamera_gst = shared_library('gstlibcamera',
install : true,
install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
)
+
+# Make the plugin visible to GStreamer inside meson devenv.
+fs = import('fs')
+gst_plugin_path = fs.parent(libcamera_gst.full_path())
+
+gst_env = environment()
+gst_env.prepend('GST_PLUGIN_PATH', gst_plugin_path)
+
+# Avoid polluting the system registry.
+gst_env.set('GST_REGISTRY', gst_plugin_path / 'registry.data')
+
+meson.add_devenv(gst_env)