mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 22:36:33 +00:00
9eda151348
This embeds the muxer inside the sink and accepts elementary streams while the old HLS sink required the muxer outside. Apart from that the interface is the same as before. Currently only mpegtsmux is supported, but support for other muxers is just a matter of adding a property. The advantage of the new sink is that it reduces complexity a lot and properly handles pre-encoded streams with appropriately spaced keyframes. https://bugzilla.gnome.org/show_bug.cgi?id=781496
41 lines
1 KiB
Meson
41 lines
1 KiB
Meson
hls_sources = [
|
|
'gsthlsdemux.c',
|
|
'gsthlsdemux-util.c',
|
|
'gsthlsplugin.c',
|
|
'gsthlssink.c',
|
|
'gsthlssink2.c',
|
|
'gstm3u8playlist.c',
|
|
'm3u8.c',
|
|
]
|
|
|
|
hls_cargs = ['-DGST_USE_UNSTABLE_API']
|
|
|
|
# FIXME: Add an option for selecting the library, and fail if it's not found
|
|
hls_crypto_dep = dependency('nettle', required : false)
|
|
if hls_crypto_dep.found()
|
|
hls_cargs += ['-DHAVE_NETTLE']
|
|
else
|
|
hls_crypto_dep = cc.find_library('gcrypt', required : false)
|
|
if hls_crypto_dep.found()
|
|
hls_cargs += ['-DHAVE_LIBGCRYPT']
|
|
else
|
|
hls_crypto_dep = openssl_dep
|
|
if hls_crypto_dep.found()
|
|
hls_cargs += ['-DHAVE_OPENSSL']
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
if hls_crypto_dep.found()
|
|
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, libm],
|
|
install : true,
|
|
install_dir : plugins_install_dir,
|
|
)
|
|
endif
|