[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