Xavier Claessens 352a8a8b12 unifxfdsink: Add an property to allow copying
By design, unixfd is meant to be used for zero-copy and failing when the data is
not FD based memory is wanted to help debug pipelines. Though, there exists
cases, notably with RTP payloader and demuxers, where its not possible
to get all the data into FD memory through allocation queries.

To allow using unixfd for these cases, introduce a property on the unixfdsink
that enable copying the non FD data into freshly allocated memfd.

Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8861>
2025-05-05 19:15:56 +00:00

42 lines
857 B
Meson

unixfd_sources = [
'gstunixfd.c',
'gstunixfdallocator.c',
'gstunixfdsink.c',
'gstunixfdsrc.c',
]
unixfd_headers = [
'gstunixfd.h',
]
doc_sources = []
foreach s: unixfd_sources + unixfd_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'unixfd': pathsep.join(doc_sources)
}
if get_option('unixfd').disabled()
subdir_done()
endif
gstallocators_dep = dependency('gstreamer-allocators-1.0')
gio_unix_dep = dependency('gio-unix-2.0', required: get_option('unixfd'))
if not gio_unix_dep.found()
subdir_done()
endif
gstunixfd_plugin = library('gstunixfd',
unixfd_sources,
c_args: gst_plugins_bad_args,
include_directories: [configinc],
dependencies : [gstbase_dep, gstallocators_dep, gio_dep, gio_unix_dep],
install : true,
install_dir : plugins_install_dir,
)
plugins += [gstunixfd_plugin]