diff options
author | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2019-11-23 17:00:53 -0500 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-03-07 01:57:42 +0200 |
commit | 17cccc68a88ffaaeb06fb2383ad27b5ccb627c24 (patch) | |
tree | 1589dc8790990b55abe3b268956b658234e2eb65 /src/gstreamer/meson.build | |
parent | 2cc90af8c7b6ac90b62ed9794d6176562b788292 (diff) |
Add GStreamer plugin and element skeleton
This implements the GStreamer plugin interface and adds libcamerasrc
element feature to it. This is just enough to allow plugin
introspection.
gst-inspect-1.0 build/src/gstreamer/libgstlibcamera.so
Plugin Details:
Name libcamera
Description libcamera capture plugin
Filename build/src/gstreamer/libgstlibcamera.so
Version 0.0.0+1042-6c9f16d3-dirty
License LGPL
Source module libcamera
Binary package libcamera
Origin URL https://libcamera.org
libcamerasrc: libcamera Source
1 features:
GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer gst-inspect-1.0 libcamerasrc
Factory Details:
Rank primary (256)
Long-name libcamera Source
Klass Source/Video
Description Linux Camera source using libcamera
Author Nicolas Dufresne <nicolas.dufresne@collabora.com
Plugin Details:
Name libcamera
Description libcamera capture plugin
Filename /home/nicolas/Sources/libcamera/build/src/gstreamer/libgstlibcamera.so
Version 0.0.0+1042-6c9f16d3-dirty
License LGPL
Source module libcamera
Binary package libcamera
Origin URL https://libcamera.org
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstLibcameraSrc
Pad Templates:
none
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
none
Element Properties:
name : The name of the object
flags: accès en lecture, accès en écriture, 0x2000
String. Default: "libcamerasrc0"
parent : The parent of the object
flags: accès en lecture, accès en écriture, 0x2000
Object of type "GstObject"
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
[Silence -Wunused-function warning for older GLib versions]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/gstreamer/meson.build')
-rw-r--r-- | src/gstreamer/meson.build | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build new file mode 100644 index 00000000..490e030e --- /dev/null +++ b/src/gstreamer/meson.build @@ -0,0 +1,32 @@ +libcamera_gst_sources = [ + 'gstlibcamera.c', + 'gstlibcamerasrc.cpp', +] + +libcamera_gst_c_args = [ + '-DVERSION="@0@"'.format(libcamera_git_version), + '-DPACKAGE="@0@"'.format(meson.project_name()), +] + +glib_dep = dependency('glib', required : get_option('gstreamer')) + +gst_dep = dependency('gstreamer-video-1.0', version : '>=1.14.0', + required : get_option('gstreamer')) + +if glib_dep.found() and gst_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 + # warning in that case. + if cc.get_id() == 'clang' and glib_dep.version().version_compare('<2.63.0') + libcamera_gst_c_args += [ '-Wno-unused-function' ] + endif + + libcamera_gst = shared_library('gstlibcamera', + libcamera_gst_sources, + c_args : libcamera_gst_c_args, + dependencies : [libcamera_dep, gst_dep], + install: true, + install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')), + ) +endif |