summaryrefslogtreecommitdiff
path: root/subprojects/gst-plugins-bad/ext/hls/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/gst-plugins-bad/ext/hls/meson.build')
-rw-r--r--subprojects/gst-plugins-bad/ext/hls/meson.build68
1 files changed, 68 insertions, 0 deletions
diff --git a/subprojects/gst-plugins-bad/ext/hls/meson.build b/subprojects/gst-plugins-bad/ext/hls/meson.build
new file mode 100644
index 0000000000..3444d37e79
--- /dev/null
+++ b/subprojects/gst-plugins-bad/ext/hls/meson.build
@@ -0,0 +1,68 @@
+hls_sources = [
+ 'gsthlsdemux.c',
+ 'gsthlsdemux-util.c',
+ 'gsthlselement.c',
+ 'gsthlsplugin.c',
+ 'gsthlssink.c',
+ 'gsthlssink2.c',
+ 'gstm3u8playlist.c',
+ 'm3u8.c',
+]
+
+hls_cargs = ['-DGST_USE_UNSTABLE_API']
+
+hls_crypto = get_option('hls-crypto')
+hls_option = get_option('hls')
+hls_crypto_dep = dependency('', required : false)
+# used for unit test
+hls_dep = dependency('', required : false)
+
+if hls_option.disabled()
+ subdir_done()
+endif
+
+if ['auto', 'nettle'].contains(hls_crypto)
+ hls_crypto_dep = dependency('nettle', version : '>= 3.0', required : false)
+ if hls_crypto_dep.found()
+ hls_cargs += ['-DHAVE_NETTLE']
+ endif
+endif
+
+if not hls_crypto_dep.found() and ['auto', 'libgcrypt'].contains(hls_crypto)
+ hls_crypto_dep = cc.find_library('gcrypt', required : false)
+ if hls_crypto_dep.found()
+ hls_cargs += ['-DHAVE_LIBGCRYPT']
+ endif
+endif
+
+if not hls_crypto_dep.found() and ['auto', 'openssl'].contains(hls_crypto)
+ hls_crypto_dep = dependency('openssl', required : false)
+ if hls_crypto_dep.found()
+ hls_cargs += ['-DHAVE_OPENSSL']
+ endif
+endif
+
+if not hls_crypto_dep.found()
+ if hls_crypto == 'auto'
+ message('Enable HLS plugin enable without crypto')
+ elif hls_option.enabled()
+ error('HLS plugin enabled with crypto, but crypto library "@0@" not found'.format(hls_crypto))
+ else
+ subdir_done()
+ endif
+endif
+
+gsthls = library('gsthls',
+ hls_sources,
+ c_args : gst_plugins_bad_args + hls_cargs,
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+ dependencies : [gstpbutils_dep, gsttag_dep, gstvideo_dep,
+ gstadaptivedemux_dep, gsturidownloader_dep,
+ hls_crypto_dep, gio_dep, libm],
+ install : true,
+ install_dir : plugins_install_dir,
+)
+pkgconfig.generate(gsthls, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gsthls]
+hls_dep = declare_dependency(include_directories : include_directories('.'))