h264parse: fix collection of access units to preserve config headers.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Thu, 26 Jun 2014 07:44:26 +0000 (09:44 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Tue, 1 Jul 2014 14:41:19 +0000 (16:41 +0200)
commitc4ace0068eb3bf4f48358b7646302475205fcec0
tree688418aac7e4c424ba4e05139c44538156e23951
parent0f9f7c94ceaa206362ba4573702a965624bdba0e
h264parse: fix collection of access units to preserve config headers.

Always use a GstAdapter when collecting access units (alignment="au")
in either byte-stream or avcC format. This is required to properly
preserve config headers like SPS and PPS when invalid or broken NAL
units are subsequently parsed.

More precisely, this fixes scenario like:
<SPS> <PPS> <invalid-NAL> <slice>

where we used to reset the output frame buffer when an invalid or
broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
preventing the next slice unit to be decoded, should this also
represent any valid data.

https://bugzilla.gnome.org/show_bug.cgi?id=732203

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
gst/videoparsers/gsth264parse.c