gstreamer/ext/avtp/meson.build
Ederson de Souza 45d2f5a779 avtp: Introduce AVTP CVF depayloader element
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.
2019-07-03 09:59:35 -07:00

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