GNOME Bugzilla – Bug 649474
Gapless playback is not gapless for Flac files
Last modified: 2012-02-01 21:53:00 UTC
The gapless mode does not work with Flac encoded files: there is gaps between each song in the playback.
Step to reproduce:
- enable gapless mode in preferences
- play two or more Flac files (with no recorded silence at the end)
Actual result: there is a small gap between each songs
- the files tested play correctly in both Aqualung and Rhythmbox (with gapless mode enabled)
- the same source encoded in Ogg or in MP3 plays correctly in Banshee
- the problem is still there with all extensions disabled
- the problem is there whether the files are played from the PlayQueue, the music library or a playlist
- Banshee --debug does not seem to display any particular hint at the problem (the "gapless track-change message" is correctly displayed between songs)
This is on Ubuntu Natty, with the official package.
Can you please obtain a Debug log showing this behavior.
Separately it might be useful to have a GStreamer debug log.
GST_DEBUG=1 banshee --debug 2>&1 | tee banshee-debug-gst3-log.txt
Gapless is handled by Gstreamer's playbin2 element, reassigning to GStreamer component.
Created attachment 187419 [details]
Output of `banshee --debug`
Created attachment 187421 [details]
Output of `banshee --debug --debug-sql`
Created attachment 187422 [details]
Output of `GST_DEBUG=1 banshee --debug`
I think I'm missing something here, as I don't see more info in this log than in the one without GST_DEBUG.
I've installed all the gstreamer-*-dbg packages, do I need something else to obtain useful output?
I am also experiencing this bug on Fedora 15 Beta, gstreamer 0.10.33. The bug occurs in both Banshee and Decibel, which use playbin2 for their gapless playback.
I was really happy when we got proper gapless playback support in gstreamer, would love to get it back without having to re-encode half my music collection!
Please see attached debug logs.
Created attachment 187823 [details]
Banshee debug log
Created attachment 187824 [details]
Banshee gstreamer debug log
Since the problem occurs in Decibel as well, this sounds like a GStreamer issue.
The strange thing is that the same files play correctly in Rhythmbox (no gaps), when gapless mode is enabled (i.e. crossfading activated in the preferences, and set to 0 ms).
So it is possible to have gapless playback of flac files with this release of gstreamer (0.10.32 on Ubuntu Natty), but maybe Rhythmbox uses a workaround.
Rhythmbox doesn't use playbin2's gapless feature but implements it manually and less efficient. The gaps are probably caused by incorrect segments or timestamps/durations used by flacdec.
I encountered this problem using Clementine. I found, however, that the problem is in plugins-good, at least it is triggered when latest plugins-good is installed. I use OpenSUSE 11.4, gstreamer packages from Packman. I have plugins-good 0.11.22 (from OpenSUSE 11.3), and with it even FLAC files are gapless. If I, however, install the latest plugins-good 0.11.30, gapless is broken for FLAC files, while OGG, APE, WAVPACK, WAV are gapless using Clementine.
Might be fixed by the patches from https://bugzilla.gnome.org/show_bug.cgi?id=650960.
The following is assuming the decodebin2 "drained" system is used. From comments above, it's not clear whether none of some of the reports use this method (eg, I've no idea if Clementine uses that drained system.
I just fixed a timestamp bug in flacparse that would cause loops implemented via setting URI when receiving the drained signal to not loop properly with FLAC files. With that patch in, I get nice sounding looped FLAC files. Not quite sure it's gapless as they start end with silence/ramp, but it's definitely needed - at least when using that method. If anyone can attach two FLAC files which make gaps obvious (as in, a recording of a single sound split in two FLAC files), I can look into it more. For now though, it works well enough for me.
Also, the drained signal had been mistakenly removed in july, so you'll need to apply 661202 as well for it to work. This isn't the original issue since it predates the drained bug.
So marking both as dependency. Please test with those two patches, and either supply test files if it still doesn't work for a player which does not do its own thing, and move back to Banshee if it only does not work with it.
Hi, I'm on Fedora 15 using rhythmbox-2.90.1-11.git20110502.fc15.x86_64 and I noticed that gapless playback stopped working with FLAC files recently.
I found this bug and tried downgrading gstreamer-plugins-good:
$ sudo yum downgrade gstreamer-plugins-good
Installing : gstreamer-plugins-good-0.10.27-4.fc15.x86_64 1/2
Cleanup : gstreamer-plugins-good-0.10.29-1.fc15.x86_64
This resolved the problem for me. I can't easily test your patch from 661202 right now but I can share two FLAC files I am testing with.
http://cupcakecarnival.net/sites/default/files/01 - Bedrock , Emerald (Charlie May Unreleased Dub).flac
http://cupcakecarnival.net/sites/default/files/02 - Tom Mangan , Chutney (Tom Mangan 2008 Remix).flac
fwiw I opend a bug in Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=750094
Closing as OBSOLETE based on comment #13. Please reopen if you can provide the necessary test cases.