gstreamer/ext
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
..
aom doc: remove xml from comments 2019-05-29 22:58:08 +02:00
assrender docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
avtp avtp: Introduce AVTP CVF depayloader element 2019-07-03 09:59:35 -07:00
bs2b meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
bz2 docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
chromaprint docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
closedcaption meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
colormanagement meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
curl doc: remove xml from comments 2019-05-29 22:58:08 +02:00
dash dashdemux: include both Period start and presentationTimeOffset in segment start 2019-06-01 21:25:33 +00:00
dc1394 meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
directfb docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
dtls dtlsagent: Clear the certificate upon finalize 2019-06-25 20:37:57 +02:00
dts docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
faac docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
faad docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
fdkaac docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
flite docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
fluidsynth docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
gme meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
gsm docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
hls tests: Enable hls m3u8 unit test with meson build 2019-06-18 07:14:28 +00:00
iqa docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
kate docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
ladspa meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
libde265 docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
libmms docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
lv2 meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
modplug meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
mpeg2enc doc: remove xml from comments 2019-05-29 22:58:08 +02:00
mplex doc: remove xml from comments 2019-05-29 22:58:08 +02:00
musepack meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
neon meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
ofa meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
openal meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
opencv doc: remove xml from comments 2019-05-29 22:58:08 +02:00
openexr meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
openh264 docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
openjpeg docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
openmpt meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
openni2 meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
opus docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
resindvd docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
rsvg docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
rtmp docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
sbc docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
sctp meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
smoothstreaming docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
sndfile meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
soundtouch docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
spandsp docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
srt meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
srtp docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
teletextdec meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
ttml docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
voaacenc docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
voamrwbenc meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
vulkan vkswapper: support rescaling to the output size 2019-06-24 16:23:29 +10:00
wayland waylandsink: Workaround gnome-shell bug 2019-05-26 17:49:29 +02:00
webp docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
webrtc webrtc: Fix data-channel send-string doc 2019-06-23 17:03:32 +01:00
webrtcdsp docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
wildmidi meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
wpe wpe: Port for WPEWebKit 2.25.x 2019-06-25 10:16:25 +00:00
x265 docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
zbar zbar: Include running-time, stream-time and duration in the messages 2019-06-19 13:31:39 +03:00
Makefile.am avtp: AVTP plugin bootstrap code 2019-07-03 09:59:35 -07:00
meson.build avtp: AVTP plugin bootstrap code 2019-07-03 09:59:35 -07:00