diff options
Diffstat (limited to 'subprojects/gst-plugins-bad/ext/hls/meson.build')
-rw-r--r-- | subprojects/gst-plugins-bad/ext/hls/meson.build | 68 |
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('.')) |