2016-08-12 14:55:17 +00:00
|
|
|
gst_controller_sources = [
|
|
|
|
'gstargbcontrolbinding.c',
|
|
|
|
'gstdirectcontrolbinding.c',
|
|
|
|
'gsttimedvaluecontrolsource.c',
|
|
|
|
'gstinterpolationcontrolsource.c',
|
2016-11-18 02:09:21 +00:00
|
|
|
'gstproxycontrolbinding.c',
|
2016-08-12 14:55:17 +00:00
|
|
|
'gsttriggercontrolsource.c',
|
|
|
|
'gstlfocontrolsource.c',
|
|
|
|
]
|
|
|
|
|
2017-04-09 09:02:43 +00:00
|
|
|
controller_mkenum_headers = [
|
|
|
|
'gstinterpolationcontrolsource.h',
|
|
|
|
'gstlfocontrolsource.h',
|
|
|
|
]
|
|
|
|
|
|
|
|
gst_controller_headers = controller_mkenum_headers + [
|
2016-08-12 14:55:17 +00:00
|
|
|
'gstargbcontrolbinding.h',
|
|
|
|
'gstdirectcontrolbinding.h',
|
|
|
|
'gsttimedvaluecontrolsource.h',
|
|
|
|
'gstinterpolationcontrolsource.h',
|
2016-11-18 02:09:21 +00:00
|
|
|
'gstproxycontrolbinding.h',
|
2016-08-12 14:55:17 +00:00
|
|
|
'gsttriggercontrolsource.h',
|
|
|
|
'gstlfocontrolsource.h',
|
2018-03-12 23:03:26 +00:00
|
|
|
'controller-prelude.h',
|
2016-08-12 14:55:17 +00:00
|
|
|
'controller.h',
|
|
|
|
]
|
|
|
|
install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/')
|
|
|
|
|
2017-07-20 03:03:55 +00:00
|
|
|
controller_enums = gnome.mkenums_simple('controller-enumtypes',
|
|
|
|
sources : controller_mkenum_headers,
|
|
|
|
header_prefix : '#include <gst/controller/controller-prelude.h>',
|
2018-08-25 21:56:01 +00:00
|
|
|
body_prefix : '#include "config.h"',
|
2017-07-20 03:03:55 +00:00
|
|
|
decorator : 'GST_CONTROLLER_API',
|
|
|
|
install_header : true,
|
2018-04-01 14:06:26 +00:00
|
|
|
install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/controller'))
|
2017-07-20 03:03:55 +00:00
|
|
|
gstcontroller_c = controller_enums[0]
|
|
|
|
gstcontroller_h = controller_enums[1]
|
2017-04-09 09:02:43 +00:00
|
|
|
|
2017-04-12 12:48:53 +00:00
|
|
|
gst_controller_gen_sources = [gstcontroller_h]
|
2018-03-23 16:48:37 +00:00
|
|
|
gst_controller = library('gstcontroller-@0@'.format(apiversion),
|
|
|
|
gst_controller_sources, gstcontroller_h, gstcontroller_c,
|
2018-08-25 21:09:12 +00:00
|
|
|
c_args : gst_c_args + ['-DBUILDING_GST_CONTROLLER'],
|
2018-03-23 16:48:37 +00:00
|
|
|
install : true,
|
|
|
|
version : libversion,
|
|
|
|
soversion : soversion,
|
2018-08-28 20:33:28 +00:00
|
|
|
darwin_versions : osxversion,
|
2018-03-23 16:48:37 +00:00
|
|
|
include_directories : [configinc, libsinc],
|
|
|
|
dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
|
|
|
|
)
|
|
|
|
|
2018-10-27 17:01:02 +00:00
|
|
|
pkgconfig.generate(gst_controller,
|
|
|
|
libraries : [libgst],
|
|
|
|
variables : pkgconfig_variables,
|
|
|
|
subdirs : pkgconfig_subdirs,
|
|
|
|
name : 'gstreamer-controller-1.0',
|
|
|
|
description : 'Dynamic parameter control for GStreamer elements',
|
|
|
|
)
|
|
|
|
|
2018-03-23 16:48:37 +00:00
|
|
|
if build_gir
|
|
|
|
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/controller/controller.h' ]
|
|
|
|
gst_controller_gir = gnome.generate_gir(gst_controller,
|
|
|
|
sources : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c],
|
|
|
|
namespace : 'GstController',
|
|
|
|
nsversion : apiversion,
|
|
|
|
identifier_prefix : 'Gst',
|
|
|
|
symbol_prefix : 'gst',
|
|
|
|
export_packages : 'gstreamer-controller-1.0',
|
|
|
|
dependencies : [gst_dep],
|
|
|
|
include_directories : [configinc, libsinc, privinc],
|
|
|
|
includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
|
2016-08-12 14:55:17 +00:00
|
|
|
install : true,
|
2018-03-23 16:48:37 +00:00
|
|
|
extra_args : gst_gir_extra_args,
|
2016-08-12 14:55:17 +00:00
|
|
|
)
|
2018-03-23 16:48:37 +00:00
|
|
|
gst_controller_gen_sources += [gst_controller_gir]
|
2016-08-12 14:55:17 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
gst_controller_dep = declare_dependency(link_with : gst_controller,
|
|
|
|
include_directories : [libsinc],
|
2017-01-18 21:16:26 +00:00
|
|
|
sources: gst_controller_gen_sources,
|
2016-08-12 14:55:17 +00:00
|
|
|
dependencies : [gst_dep])
|
2018-10-27 17:01:02 +00:00
|
|
|
|
|
|
|
meson.override_dependency('gstreamer-controller-1.0', gst_controller_dep)
|