mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-19 18:40:31 +00:00
45d2f5a779
This patch introduces the AVTP Compressed Video Format (CVF) depayloader specified in IEEE 1722-2016 section 8. Currently, this depayloader only supports H.264 encapsulation described in section 8.5. Is also worth noting that only single NAL units are handled: aggregated and fragmented payloads are not handled. As stated in AVTP CVF payloader patch, AVTP timestamp is used to define outgoing buffer DTS, while the H264_TIMESTAMP defines outgoing buffer PTS. When an AVTP packet is received, the extracted H.264 NAL unit is added to a "stash" (the out_buffer) of H.264 NAL units. This "stash" is pushed downstream as single buffer (with NAL units aggregated according to format used on GStreamer, based on ISO/IEC 14496-15) as soon as we get the AVTP packet with M bit set. This patch groups NAL units using a fixed NAL size lenght, sent downstream on the `codec_data` capability. The "stash" of NAL units can be prematurely sent downstream if a discontinuity (a missing SEQNUM) happens. This patch reuses the infra provided by gstavtpbasedepayload.c.
25 lines
621 B
Meson
25 lines
621 B
Meson
avtp_sources = [
|
|
'gstavtp.c',
|
|
'gstavtpaafdepay.c',
|
|
'gstavtpaafpay.c',
|
|
'gstavtpcvfdepay.c',
|
|
'gstavtpcvfpay.c',
|
|
'gstavtpbasedepayload.c',
|
|
'gstavtpbasepayload.c',
|
|
'gstavtpsink.c',
|
|
'gstavtpsrc.c',
|
|
]
|
|
|
|
avtp_dep = dependency('avtp', required: get_option('avtp'))
|
|
|
|
if avtp_dep.found()
|
|
gstavtp = library('gstavtp',
|
|
avtp_sources,
|
|
c_args : gst_plugins_bad_args,
|
|
include_directories : [configinc],
|
|
dependencies : [gstaudio_dep, gstvideo_dep, avtp_dep],
|
|
install : true,
|
|
install_dir : plugins_install_dir,
|
|
)
|
|
pkgconfig.generate(gstavtp, install_dir : plugins_pkgconfig_install_dir)
|
|
endif
|