GNOME Bugzilla – Bug 678804
flac: Playback stops for particular track after 1 min 41 sec (repeatable)
Last modified: 2012-12-19 19:57:49 UTC
The track should play to completion (13 minutes 32 seconds), instead the track stops playing early (1 min 42 seconds). The problem occurs whether played using Rhythmbox or direct using gstreamer. The file plays to completion, without error using the play command from sox. lsb_release -rd Description: Ubuntu 12.04 LTS Release: 12.04 gstreamer0.10-tools: Installed: 0.10.36-1ubuntu1 Candidate: 0.10.36-1ubuntu1 Version table: *** 0.10.36-1ubuntu1 0 500 http://gb.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages 100 /var/lib/dpkg/status gst-launch-0.10 playbin uri=file:///home/music/Kate\ Bush/50\ Words\ for\ Snow/03\ -\ Misty.flac Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock Got EOS from element "playbin0". Execution ended after 103267376918 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... I have verified the track is not corrupted using: flac -t 3_-_Misty.flac Result: 3_-_Misty.flac: ok When played from Rhythmbox, if I skip past the position of the problem the track plays to completion. I've re-extracted the track from the original audio CD, the new file skips in exactly the same place. The track plays fine from the audio CD. In the UK, while I am permitted to format convert CD->flac, I can not share the resulting file. However, I am more than happy to help with further debugging.
I think this is a bug in flacparse which has been fixed in git. If you can make the file available to me for testing, I can try it.
That's good news. As I said, I'm not sure if I can share the file. However, if the fix is small I would be able to patch version of the source and try it. Can you point me at the commit?
That should read "..able to patch my version of the source...."
Try the last few patches from the 0.10 branch (though nothing sticks out tbh; on the other hand, there have been two other bugs like this which I know were already fixed): http://cgit.freedesktop.org/gstreamer/gst-plugins-good/log/gst/audioparsers/gstflacparse.c?h=0.10
Well, I think I successfully built a version using all the latest commits to the 0.10 branch. Sorry I cannot be more confident. The behaviour is different with this build. Using the gst-launch-0.10 command as before, play proceeds as before to the point of the problem. However, at that point rather than exit, the sound stops but gst-launch-0.10 does not exit. strace shows that gst-launch-0.10 continues to read data. I left gst-launch-0.10 in this state way past the expected play time but it did not exit. I eventually ctrl+c stopped gst-launch-0.10.
I believe this bug may be fixed in the latest 1.0.x release. Could you install: gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-pulseaudio from https://launchpad.net/~gstreamer-developers/+archive/ppa (unless you're on ubuntu raring) and then try: gst-launch-1.0 playbin uri='file:///path/to/foo.flac' ?
I've installed the PPA version onto 12.04 and yes, the file plays past the fault using the 1.0.x version. Thanks.
Thanks for confirming. Unfortunately there probably won't be any more 0.10 releases, but you might be able to persuade ubuntu to patch their packages with the right patches from the 0.10 git branch for this (should be in gst-plugins-good/gst/audioparsers/gstflacparse.c). Though I think/hope they're migrating to 1.0 in the current cycle, for 13.04.