mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
h264parse: outgoing byte stream prefix always has size 4
Fixes #664123.
This commit is contained in:
parent
92f07e3898
commit
5099ff23af
1 changed files with 5 additions and 2 deletions
|
@ -337,7 +337,7 @@ gst_h264_parse_wrap_nal (GstH264Parse * h264parse, guint format, guint8 * data,
|
||||||
guint size)
|
guint size)
|
||||||
{
|
{
|
||||||
GstBuffer *buf;
|
GstBuffer *buf;
|
||||||
const guint nl = h264parse->nal_length_size;
|
guint nl = h264parse->nal_length_size;
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (h264parse, "nal length %d", size);
|
GST_DEBUG_OBJECT (h264parse, "nal length %d", size);
|
||||||
|
|
||||||
|
@ -345,7 +345,10 @@ gst_h264_parse_wrap_nal (GstH264Parse * h264parse, guint format, guint8 * data,
|
||||||
if (format == GST_H264_PARSE_FORMAT_AVC) {
|
if (format == GST_H264_PARSE_FORMAT_AVC) {
|
||||||
GST_WRITE_UINT32_BE (GST_BUFFER_DATA (buf), size << (32 - 8 * nl));
|
GST_WRITE_UINT32_BE (GST_BUFFER_DATA (buf), size << (32 - 8 * nl));
|
||||||
} else {
|
} else {
|
||||||
g_assert (nl == 4);
|
/* HACK: nl should always be 4 here, otherwise this won't work.
|
||||||
|
* There are legit cases where nl in avc stream is 2, but byte-stream
|
||||||
|
* SC is still always 4 bytes. */
|
||||||
|
nl = 4;
|
||||||
GST_WRITE_UINT32_BE (GST_BUFFER_DATA (buf), 1);
|
GST_WRITE_UINT32_BE (GST_BUFFER_DATA (buf), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue