[Bug 721384] h264parse: clears keyframe flags when passing through byte-stream AUs (regression)

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Jan 21 12:24:47 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=721384
  GStreamer | gst-plugins-bad | git

--- Comment #9 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2014-01-21 20:24:43 UTC ---
Considering this is the NAL to parse:

68 ce 3c 80 00 00 00 00 01

gstreamer detects it as having a size of 6 bytes, using the final 00 00 01 as
the start code for the next NAL and stripping it.

68 ce 3c 80 00 00

libav (that plays this file correctly) strips one more byte than gstreamer:

68 ce 3c 80 00

so the final element that gstreamer complains about and errors out doesn't
exist for libav and it remains happy enough to play the file.

libav has this:
#define STARTCODE_TEST                                                  \
    if (i + 2 < length && src[i + 1] == 0 && src[i + 2] <= 3) {         \
        if (src[i + 2] != 3) {                                          \
            /* startcode, so we must be past the end */                 \
            length = i;                                                 \
        }                                                               \
        break;                                                          \
    }

which will also consider 00 00 00/01/02 as a start code. I guess this is why it
doesn't use that last byte. (could be a bug)

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list