gstreamer/gst/videoparsers
Nicolas Dufresne e88d848070 h265parse: Don't wait for next NAL if input is aligned
Waiting for the next NAL increases the latency. If alignment=nal/au
has been negotiated, assumes the the buffer contains a complete
NAL and don't expect a second start-code. This way, nal -> nal,
au -> au and au -> nal no longer introduce latency.

As a side effect, the collect_pad() function was not able to poke at the
following NAL. This call is now moved before processing the NAL, so
it's looking at the current NAL before it's ingested into the parser
state in order to dermin if the end of an AU has been reached. The AUD
injection state as been adapted to support this.

This change will break pipelines if alignment=nal is used without respecting the
alignment. Effectively, the parser will no longer fix the broken aligment
which will result in parser error and the termination of the pipeline. Such
issue existed in tsdemux element and might exist in any forks of that code.

Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1193
2020-04-15 14:10:16 +00:00
..
dirac_parse.c videoparsers: chain up to parent event handler 2012-02-15 12:56:55 +01:00
dirac_parse.h videoparsers: Add dirac parser 2011-02-17 14:43:35 -08:00
gstdiracparse.c docs: Port all docstring to gtk-doc markdown 2017-04-12 12:57:57 -03:00
gstdiracparse.h diracparse: Post VIDEO_CODEC tag 2013-12-16 10:13:56 +01:00
gsth263parse.c bad: use new gst_element_class_add_static_pad_template() 2016-03-24 14:56:51 +02:00
gsth263parse.h h263parse: Post VIDEO_CODEC tag 2013-12-16 10:16:14 +01:00
gsth264parse.c h264parse: Don't add latency when not needed 2020-04-15 14:10:15 +00:00
gsth264parse.h h264parse: Propagate MARKER flag 2020-04-15 14:10:15 +00:00
gsth265parse.c h265parse: Don't wait for next NAL if input is aligned 2020-04-15 14:10:16 +00:00
gsth265parse.h h265parse: Don't wait for next NAL if input is aligned 2020-04-15 14:10:16 +00:00
gstjpeg2000parse.c jpeg2000parse: fail caps negotiation if caps are NOT fixed 2019-11-05 21:21:51 +00:00
gstjpeg2000parse.h jpeg2000parse: make explicit that codec_format is for src caps 2019-11-05 21:21:51 +00:00
gstmpeg4videoparse.c videoparsers: Disable gst_base_parse_set_infer_ts 2019-11-19 10:23:31 +02:00
gstmpeg4videoparse.h mpeg4videoparse: allow sending config at IDR 2019-07-31 18:03:19 +00:00
gstmpegvideoparse.c videoparsers: Disable gst_base_parse_set_infer_ts 2019-11-19 10:23:31 +02:00
gstmpegvideoparse.h mpegvideoparse: use gstvideoparseutils to handle user data 2019-08-26 18:14:17 -04:00
gstpngparse.c bad: use new gst_element_class_add_static_pad_template() 2016-03-24 14:56:51 +02:00
gstpngparse.h Revert "pngparse: improve parsing of the image" 2015-01-07 16:40:25 +00:00
gstvc1parse.c videoparsers: Disable gst_base_parse_set_infer_ts 2019-11-19 10:23:31 +02:00
gstvc1parse.h vc1parse: implement asf to *-frame-layer stream-format 2014-11-08 19:01:10 +01:00
gstvideoparseutils.c Revert "videoparseutils: support two new EIA 608 closed caption formats" 2019-12-17 16:44:10 -05:00
gstvideoparseutils.h Revert "videoparseutils: support two new EIA 608 closed caption formats" 2019-12-17 16:44:10 -05:00
h263parse.c documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
h263parse.h h263parse: add pixel-aspect-ratio if upstream doesn't provide one 2013-07-15 23:04:35 +01:00
meson.build videoparseutils: add new parser class 2019-08-26 18:14:17 -04:00
plugin.c jpeg2000parse: Add JPEG2000 parser element 2016-06-07 15:29:41 +03:00