1 gst_controller_sources = files([
2 'gstargbcontrolbinding.c',
3 'gstdirectcontrolbinding.c',
4 'gsttimedvaluecontrolsource.c',
5 'gstinterpolationcontrolsource.c',
6 'gstproxycontrolbinding.c',
7 'gsttriggercontrolsource.c',
8 'gstlfocontrolsource.c',
11 controller_mkenum_headers = files([
12 'gstinterpolationcontrolsource.h',
13 'gstlfocontrolsource.h',
16 gst_controller_headers = controller_mkenum_headers + files([
17 'gstargbcontrolbinding.h',
18 'gstdirectcontrolbinding.h',
19 'gsttimedvaluecontrolsource.h',
20 'gstinterpolationcontrolsource.h',
21 'gstproxycontrolbinding.h',
22 'gsttriggercontrolsource.h',
23 'gstlfocontrolsource.h',
24 'controller-prelude.h',
27 install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/')
29 controller_enums = gnome.mkenums_simple('controller-enumtypes',
30 sources : controller_mkenum_headers,
31 header_prefix : '#include <gst/controller/controller-prelude.h>',
32 body_prefix : '#include "config.h"',
33 decorator : 'GST_CONTROLLER_API',
34 install_header : true,
35 install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/controller'))
36 gstcontroller_c = controller_enums[0]
37 gstcontroller_h = controller_enums[1]
39 gst_controller_gen_sources = [gstcontroller_h]
40 gst_controller = library('gstcontroller-@0@'.format(apiversion),
41 gst_controller_sources, gstcontroller_h, gstcontroller_c,
42 c_args : gst_c_args + ['-DBUILDING_GST_CONTROLLER'],
45 soversion : soversion,
46 darwin_versions : osxversion,
47 include_directories : [configinc, libsinc],
48 dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
51 pkgconfig.generate(gst_controller,
53 variables : pkgconfig_variables,
54 subdirs : pkgconfig_subdirs,
55 name : 'gstreamer-controller-1.0',
56 description : 'Dynamic parameter control for GStreamer elements',
60 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/controller/controller.h' ]
61 gst_controller_gir = gnome.generate_gir(gst_controller,
62 sources : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c],
63 namespace : 'GstController',
64 nsversion : apiversion,
65 identifier_prefix : 'Gst',
66 symbol_prefix : 'gst',
67 export_packages : 'gstreamer-controller-1.0',
68 dependencies : [gst_dep],
69 include_directories : [configinc, libsinc, privinc],
70 includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
72 extra_args : gst_gir_extra_args,
74 gst_controller_gen_sources += [gst_controller_gir]
77 gst_controller_dep = declare_dependency(link_with : gst_controller,
78 include_directories : [libsinc],
79 sources: gst_controller_gen_sources,
80 dependencies : [gst_dep])
82 meson.override_dependency('gstreamer-controller-1.0', gst_controller_dep)