After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 779962 - skip 2 bytes is wrong while checking mpegaudio header which will cause a long waiting.
skip 2 bytes is wrong while checking mpegaudio header which will cause a long...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal critical
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-03-13 03:59 UTC by Jason.Chiang
Modified: 2018-11-03 15:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (2.36 KB, patch)
2017-03-13 03:59 UTC, Jason.Chiang
none Details | Review
test file (781.59 KB, audio/mp3)
2017-03-13 04:01 UTC, Jason.Chiang
  Details

Description Jason.Chiang 2017-03-13 03:59:12 UTC
Created attachment 347789 [details] [review]
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.
Comment 1 Jason.Chiang 2017-03-13 04:01:13 UTC
Created attachment 347790 [details]
test file

The audio file which will cause this bug.
Comment 2 GStreamer system administrator 2018-11-03 15:17:16 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/355.