GNOME Bugzilla – Bug 638452
Stuttering playback of vorbis audio
Last modified: 2011-05-17 08:05:35 UTC
I have for a while been suffering from stuttering playback of certain audio files. I have now narrowed the problem down to ogg vorbis files and gstreamer. I don't experince the problem with mp3 or other files and even with vorbis files it's only noticeable with some specific files. The files that stutter with gstreamer (I've used banshee and rhythmbox) play without any noticeable problems with mplayer, so maybe there's something wrong with gstreamer. By stuttering playback I mean that for a second or less every 20 seconds or so there's no sound. I ran the following gst-launch command (adapted from another bug report) and I cut out a stuttering point from the log: from 0:00:42.594637118 to 0:00:42.893391832. I'll attach that log with a piece from the beginning and the stuttering point. GST_DEBUG=alsa:5,baseaudiosink:5,audioresample:5 gst-launch playbin uri=file:///home/osmo/Musiikki/Johnny_Cash-Hymns_by_Johnny_Cash-1959/01-Johnny_Cash-It_Was_Jesus.ogg 2> gstreamer-log.txt For what it's worth, I have an Intel HDA sound chip on an Asus P5Q motherboard. I use Debian unstable and whatever latest versions of linux and alsa from there. 00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller [8086:3a3e] Subsystem: ASUSTeK Computer Inc. Device [1043:82fe] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 22 Region 0: Memory at f9ff8000 (64-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: HDA Intel I'll be happy to provide whatever additional information you may need.
Created attachment 177327 [details] gst-launch playbin log
A sample file, or the beginning of one (head --bytes=990k foo.ogg > foo-head.ogg), would be most useful.
Here's 48 seconds of a sample file. I hear a short pause at 0:40 and a longer one (same as in my previous gst-launch output) at 0:42. http://users.tkk.fi/~otsaloma/tmp/jesus-head.ogg
jesus-head.ogg: Error: 00:00:43.022: serialno 1740460120: Packet out of order (previous 00:00:43.205) serialno 1740460120: missing *** eos The missing eos isn't a problem, but the out-of-order packet is. What created this ogg file?
If I remember correctly, it was originally created by oggenc from flac, after which I have used either mp3tag or exfalso or both to edit the tags and vorbisgain to write replay gain tags.
I hear some kind of 'skip/scratch' sound artefact at 40s (but no gap). This happens with gstreamer (git), vlc (1.1.3) and mplayer (SVN-r31918) for me. I also hear a short gap at ca. 42s, which happens for me with both gstreamer (git) and vlc (1.1.3). It looks like an encoding/muxing error to me, as suggested by the oggz-validate output from comment #4.
I had the original flac file of another problematic song around and I tried to reproduce the problem by trying oggenc, exfalso, mp3tag and vorbisgain one-by-one with oggz-validate in between, but I couldn't reproduce it. At the moment, my best guess is that the corruption could be due to banshee's lyrics plugin bug #619890, although the bug report only mentions mp3 files. I can't test that, since the plugin doesn't seem to work for me anymore. Anyway, thanks for the quick help guys. No bug found in gstreamer. I'll have to check my files with oggz-validate and rerip the corrupted ones.