meson: build voamrwbenc plugin
authorTim-Philipp Müller <tim@centricular.com>
Sun, 16 Dec 2018 20:13:08 +0000 (20:13 +0000)
committerSebastian Dröge <slomo@coaxion.net>
Mon, 17 Dec 2018 09:12:53 +0000 (09:12 +0000)
ext/meson.build
ext/voamrwbenc/meson.build [new file with mode: 0644]
meson.build
meson_options.txt

index 8678449..94c832a 100644 (file)
@@ -54,7 +54,7 @@ subdir('srtp')
 subdir('teletextdec')
 subdir('ttml')
 subdir('voaacenc')
-#subdir('voamrwbenc')
+subdir('voamrwbenc')
 subdir('vulkan')
 subdir('wayland')
 subdir('webrtc')
diff --git a/ext/voamrwbenc/meson.build b/ext/voamrwbenc/meson.build
new file mode 100644 (file)
index 0000000..5c16b20
--- /dev/null
@@ -0,0 +1,16 @@
+voamrwbenc_dep = dependency('vo-amrwbenc', version: '>= 0.1.0', required: get_option('voamrwbenc'))
+
+if voamrwbenc_dep.found()
+  gstvoamrwbenc = library('gstvoamrwbenc',
+    'gstvoamrwb.c', 'gstvoamrwbenc.c',
+    c_args: gst_plugins_bad_args,
+    link_args: noseh_link_args,
+    include_directories: [configinc],
+    dependencies: [gstaudio_dep, gstpbutils_dep, gsttag_dep, voamrwbenc_dep],
+    install: true,
+    install_dir: plugins_install_dir,
+  )
+  pkgconfig.generate(gstvoamrwbenc, install_dir: plugins_pkgconfig_install_dir)
+
+  install_data('GstVoAmrwbEnc.prs', install_dir: presetdir)
+endif
index 7346e18..7cc9c64 100644 (file)
@@ -532,6 +532,8 @@ gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' +
     'g_setenv("GST_PLUGIN_SYSTEM_PATH_1_0", "", TRUE);' + \
     'gst_init(NULL,NULL);' ]
 
+presetdir = join_paths(get_option('datadir'), 'gstreamer-' + api_version, 'presets')
+
 pkgconfig = import('pkgconfig')
 plugins_pkgconfig_install_dir = join_paths(plugins_install_dir, 'pkgconfig')
 if get_option('default_library') == 'shared'
index c90e607..ced7fe6 100644 (file)
@@ -141,6 +141,7 @@ option('uvch264', type : 'feature', value : 'auto', description : 'UVC compliant
 option('vcd', type : 'feature', value : 'auto', description : 'VCD source plugin')
 option('vdpau', type : 'feature', value : 'auto', description : 'Nvidia VDPAU plugin')
 option('voaacenc', type : 'feature', value : 'auto', description : 'AAC audio encoder plugin')
+option('voamrwbenc', type : 'feature', value : 'auto', description : 'AMR-WB audio encoder plugin')
 option('vulkan', type : 'feature', value : 'auto', description : 'Vulkan video sink plugin')
 option('wasapi', type : 'feature', value : 'auto', description : 'Windows Audio Session API source/sink plugin')
 option('webp', type : 'feature', value : 'auto', description : 'WebP image codec plugin')