h264parser: remove trailling 0x00 bytes as the spec doesn't allow them

The spec states that the last byte of a NAL 'shall not' be 0x00
and it is allowed for byte-stream format to add padding 0x00 for
alignment.

So our parser should strip any trailling 0x00.

https://bugzilla.gnome.org/show_bug.cgi?id=721384
This commit is contained in:
Thiago Santos 2014-01-20 17:24:54 -03:00
parent 99c2aa14c3
commit 4f0fc9a16f

View file

@ -1283,7 +1283,10 @@ gst_h264_parser_identify_nalu (GstH264NalParser * nalparser,
return GST_H264_PARSER_NO_NAL_END; return GST_H264_PARSER_NO_NAL_END;
} }
if (off2 > 0 && data[nalu->offset + off2 - 1] == 00) /* Mini performance improvement:
* We could have a way to store how many 0s were skipped to avoid
* parsing them again on the next NAL */
while (off2 > 0 && data[nalu->offset + off2 - 1] == 00)
off2--; off2--;
nalu->size = off2; nalu->size = off2;