GNOME Bugzilla – Bug 779962
skip 2 bytes is wrong while checking mpegaudio header which will cause a long waiting.
Last modified: 2018-11-03 15:17:16 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.
Created attachment 347790 [details] test file The audio file which will cause this bug.
-- 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.