[Bug 779962] New: skip 2 bytes is wrong while checking mpegaudio header which will cause a long waiting.

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Mar 13 03:59:12 UTC 2017


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

            Bug ID: 779962
           Summary: skip 2 bytes is wrong while checking mpegaudio header
                    which will cause a long waiting.
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: critical
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: jiangzhe1224 at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 347789
  --> https://bugzilla.gnome.org/attachment.cgi?id=347789&action=edit
patch

If we seek this audio file from the middle (e.g: 20s), the parsing of the
mpegaudio header will cost lots of time, and the payload of CPU is high.
I checked the gst_mpeg_audio_parse_handle_frame() function in
gst/audioparsers/gstmpegaudioparse.c, and found it is wrong to skip 2 bytes
after gst_mp3parse_validate_extended() is called and valid == false.

PS: We call gst_mpeg_audio_parse_head_check() and it return a false, then we
goto cleanup, filesrc send a new frame buffer. This process will cost more time
than we check all the bytes stored in a frame at once.

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