GNOME Bugzilla – Bug 575046
divx renders choppy audio (mp3parse?)
Last modified: 2009-03-13 23:17:21 UTC
the bug has been opened on https://bugs.launchpad.net/bugs/338347 "I'm in Jaunty and I was trying to watch a divx movie. 624x352 DivX MPEG-4 Version 5 24 frames per second MPEG 1 Audio, Layer 3 (MP3) Stereo 48000 Hz 128kbps the audio is really choppy. I transcoded the video to xvid (only the video, I copied the audio) and it works well. gstreamer0.10-ffmpeg 0.10.6-1 http://launchpadlibrarian.net/23520788/video.divx"
the video lags there too using 0.10.6.2 now, ffplay plays it just fine on the same installation
I can reproduce the behaviour with: filesrc ! avidemux ! mp3parse ! mad ! alsasink But the 'choppyness' disappears if: * I remove mp3parse or * I set alsasink sync=False. I'm guessing it's a mp3parse bug then ?
I want to add that the file is created using dd if=complete.avi of=test_divx.avi bs=1k count=512 just to reduce the size. so the file is not complete, but the complete file has this problem too.
it's an mp3parse bug.
Created attachment 130612 [details] [review] proposed patch This fixes the bug by relaxing the threshold for incoming timestamps to override our interpolated timestamp, and by not setting discont unless upstream signals a discont.
Fixed in GIT: commit d2c6f0b2b69f484ff82578e82d97090317be35bf Author: Jan Schmidt <thaytan@noraisin.net> Date: Fri Mar 13 19:23:12 2009 +0000 mp3parse: Fix glitches in the output when playing (for e.g.) AVI Don't introduce glitches in the output by a) relaxing the threshold for taking upstream timestamps in preference to our calculated timestamps and b) only set the discont flag on outgoing buffers in response to an incoming discont buffer. Fixes: #575046