gstreamer/ext
Ederson de Souza 3b4f3a0b3f avtp: Introduce AVTP CVF payloader element
This patch introduces the AVTP Compressed Video Format (CVF) payloader
specified in IEEE 1722-2016 section 8. Currently, this payload only
supports H.264 encapsulation described in section 8.5.

Is also worth noting that only single NAL units are encapsulated: no
aggregation or fragmentation is performed by the payloader.

An interesting characteristic of CVF H.264 spec is that it defines an
H264_TIMESTAMP, in addition to the AVTP timestamp. The later is
translated to the GST_BUFFER_DTS while the former is translated to the
GST_BUFFER_PTS. From AVTP CVF H.264 spec, it is clear that the AVTP
timestamp is related to the decoding order, while the H264_TIMESTAMP is
an ancillary information to the H.264 decoder.

Upon receiving a buffer containing a group of NAL units, the avtpcvfpay
element will extract each NAL unit and payload them into individual AVTP
packets. The last AVTP packet generated for a group of NAL units will
have the M bit set, so the depayloader is able to properly regroup them.

The exact format of the buffer of NAL units is described on the
'codec_data' capability, which is parsed by the avtpcvfpay, in the same
way done in rtph264pay.

This patch reuses the infra provided by gstavtpbasepayload.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 payloader 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