[Bug 668381] New: [h264parse] [codecparsers] SEI parsing fails when payload contains emulation_prevention_three_byte

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Jan 20 15:17:24 PST 2012


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

           Summary: [h264parse] [codecparsers] SEI parsing fails when
                    payload contains emulation_prevention_three_byte
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: jonas at hallerud.se
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=205738)
 View: https://bugzilla.gnome.org/attachment.cgi?id=205738
 Review: https://bugzilla.gnome.org/review?bug=668381&attachment=205738

Patch implementing suggested fix

gst_h264_parser_parse_sei in gst-libs/gst/codecparsers/gsth264parser.c :

After SEI payloadType and payload_size are read, NalReader size is set to
payload_size. There are comments to this assignment saying "Set the nal reader
size properly".

This is however not a properly set size. It assumes that the payload is not
escaped with emulation_prevention_three_byte, but this is not always the case.
When emulation_prevention_three_byte are present in the payload, more bytes
than payload_size must be available, otherwise parsing will fail.

I suggest setting of this "proper" size is removed as there is no way of
knowing how many bytes must actually be read until we have payload_size bytes
without scanning for emulation_prevention_three_byte in the payload. This is
how it's done in legacyh264parse.

-- 
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