Created attachment 53369 [details]
Audio sample: Hear the difference between Amarok crossfader and precise gapless.
Version: 2.3.2 (using KDE 4.5.2)
Is precise gapless playback supposed to work in Amarok? I was unable to achieve that.
By "precise gapless", I mean "no gap and no overlap" between successive tracks, see . If you consider this a stricter requirement than just "gapless", this report is not a dup of bug 99559. Otherwise, I'm afraid bug 99559 should never have been closed.
I'm using the brand new Fedora 14:
Suggestions for implementing precise gapless playback:
* Turn Amarok into an mpd client
* Use Gstreamer correctly, like Rhythmbox and Clementine
* Simply take crossfading out of Amarok (or Xine?), print it on paper and burn it as heresy.
Steps to Reproduce:
1. Record Amarok's successive playback of audio files that supports precise gapless playback (e.g. FLAC).
2. Crop the recording precisely so that only the original audio remains.
3. If the length of the recording != the sum of lengths of the individual files, Amarok did not do precise gapless playback.
When using Xine, Amarok takes a hasty time trip to the next track. Although it nicely crossfades the overlapping parts, such behavior is incorrect. For people with a sense of rhythm, it sounds odd, literally.
In one rather audible amarok-mistransition between 2 tracks, I measured the disappearance of 0.63480 seconds, following my "Steps to Reproduce".
When using Gstreamer, Amarok inserts the notorious time gap between tracks. This is unlike Rhythmbox and Clementine , (both using Gstreamer) which do precise gapless playback according to my ears.
No gap, no overlap!
You may want to take into account the other reason why Xine is unusable: It will not seek in seekpointless FLAC files (unlike Gstreamer). Unfortunate, since the audiocd kioslave does not insert seekpoints, while proper ripping with K3B 2.0.1 is currently broken.
Sorry for my sharp wording, but not getting the elementary things right disappoints.
By the way, Clementine is a sort of resurrection of Amarok 1.4.
JFYI: bug 99559 is about Amarok 1.x, not Amarok 2.x
*** This bug has been confirmed by popular vote. ***
Yeah, the gaps between the tracks are annoying. I made a wish for Phonon to support gapless playback. See bug 275995.
(In reply to comment #3)
> I made a wish for Phonon to
> support gapless playback. See bug 275995.
So when Phonon supports gapless playback, why Amarok doesn’t?
Clementine has regressed. It inserts pauses now when using GStreamer.
*** Bug 281424 has been marked as a duplicate of this bug. ***
May some developer *please* answer my question, why doesn’t Amarok play gapless wenn the backend supports it? :( That’s very annoying...
Just to make that clear: gapless works with file types supporting it by default like ogg and flac, it just doesn't work with mp3 as this needs more work: http://en.wikipedia.org/wiki/Gapless_playback#Format_support
(In reply to comment #8)
> Just to make that clear: gapless works with file types supporting it by default
> like ogg and flac
Really? Having Amarok on KDE 4.8.0 with phonon-gstreamer 4.51 (using gstreamer 0.10.35) with phonon-kde 4.8.0, phonon 4.6.0 on Gentoo amd64, I have gaps between flac tracks (they've been ripped correctly). Configuration problem?
(I know this is no support forum, just a short hint and I switch to the KDE forum)
Myriam, I can confirm that gapless DOES NOT work for FLAC or OGG. I compile Amarok from git, phonon from git and my backend (i.e. phonon-gstreamer) from git since a couple of months (!) and I test gapless playback regularly. It NEVER worked for me yet.
If gapless really works for you then please upload the very file you tested and the exact version of your software stack.
> Just to make that clear: gapless works for formats supporting it by default
> like ogg and flac, it just doesn't work for mp3 as this requires more work
That would be acceptible, and all I ask for!
This report is not about achieving the impossible.
I just tried phonon-gstreamer 4.6.0 which is supposed to support gapless. Still no gapless playback in Amarok, though...
Clementine has been gapless for me for quite some time now (months), but after installing & uninstalling Amarok today, Clementine (or Gstreamer?) broke again!
No wonder Amarok never works if the package manager damages Gstreamer when installing it. Just my suspicion. Using OpenSuse 12.1 now. If only I could get Clementine gapless again, I could test this…
(In reply to comment #13)
> Clementine has been gapless for me for quite some time now (months), but
> after installing & uninstalling Amarok today, Clementine (or Gstreamer?)
> broke again!
I doubt the package manager is to blame. Which phonon-backend-gstreamer do you use? Installing an uninstalling Amarok normally should not affect Phonon at all, if that is the case please report this to the Opensuse packagers as that would be a packaging bug.
These are the packages I have right now:
Name | Version | Repository
amarok | 2.4.3-8.8.1 | openSUSE-12.1 Updates
clementine | 0.7.3-5.1.2 | openSUSE-12.1 OSS
gstreamer-0_10 | 0.10.35-4.1.4 | openSUSE-12.1 OSS
gstreamer-0_10-plugins-base | 0.10.35-6.1.2 | openSUSE-12.1 OSS
gstreamer-0_10-plugins-good | 0.10.30-6.4.1 | openSUSE-12.1 Updates
libgstreamer-0_10-0 | 0.10.35-4.1.4 | openSUSE-12.1 OSS
libphonon4 | 4.6.0-9.4.2 | KDE:Distro:Stable
phonon-backend-gstreamer-0_10 | 4.5.90-5.4.1 | KDE:Distro:Stable
I also tried doing a dist-upgrade (zypper dup) back to plain OpenSuse 12.1 (reverting all updates), and deleted all hidden files & folders in my home directory that looked related to gstreamer or KDE, but clementine/gstreamer was still broken. I really wish I had btrfs now, so I could roll back whatever broke it.
I will be happy to report to OpenSuse packagers if we think this is a downstream issue. But Amarok was not gapless on Fedora either, and other people here are using Gentoo or compiling from git, so it seems unlikely.
To find out why it's only working for the devs, I think either we testers need a fully isolated agreed-upon-with-the-devs chroot environment, or the devs could just pick any (live) distro, and debug why it isn't working by default. If there is a distro where Amarok works by default, then it's clearly downstream.
I strongly suggest you upgrade the phonon-backend-gstreamer, you are using an unstable version, 4.6 is out since quite some time.
No luck with phonon-backend-gstreamer 4.6.0-26.1 (from the "Upstream KDE 4.8" repo of http://en.opensuse.org/KDE_repositories). This is consistent with comment #12.
Thanks for pointing that out, Myriam! I did not knowingly use unstable software. In fact, I was using the "Stable" repo from that same page.
I tried it on a Gentoo Box with
and KDE SC 4.8.4 in general with some flac files and I did not get gapless playback.
On a clean install of OpenSuse 12.2 RC 2 x86_64 (not the usual upgrade from previous installations), Amarok is gapless with flac! I am still afraid of installing Clementine due to possibly breaking Amarok again…
Interesting: one user who has the phonon-backend-gstreamer 4.6.1 has working gapless playback (although this is not possible due to the known regressions according to Harald Sitter) and one with version 4.6.2 hasn't. Seems quite confusing, subscribing the Phonon developers.
(In reply to comment #20)
> Interesting: one user who has the phonon-backend-gstreamer 4.6.1 has working
> gapless playback (although this is not possible due to the known regressions
> according to Harald Sitter) and one with version 4.6.2 hasn't. Seems quite
> confusing, subscribing the Phonon developers.
I must say that I had similar (and strange) observations: gapless (and fadeout) worked for me in phonon-gst 4.6.1 and regressed in 4.6.2. Trever?
debug log please
random notes though:
a) 4.6.1 had a partial regression where in a lot of cases gapless would not work due to intermediate state changes (IIRC)
b) system needs to be fast enough
c) gstreamer ought to be supporting it for it to work in phonon
actually let me elaborate on b and c. for gapless to work gstreamer needs to somewhat accurately know the length of a track, it will then be able to fire a signal at phonon to queue the next track gapless (that is usually about 8 seconds before the end of the current track if I am not mistaken). phonon will then fire a signal for amarok to react upon, and here it gets tricky. the signal is queued (i.e. it gets placed in a queue of signals/events - the longer the queue, the bigger the delay between phonon queuing the signal and amarok receiving it). once the signal was queued phonon gives amarok 3 seconds to react and set the next track. if no track is set within 3 seconds, or if an intermediate state change occurs, or if gstreamer's signal was issued too late you are not getting gapless.
Gapless playback is working for me since I upgraded gstreamer to 0.10.36.
Amarok Version: 2.6.0
KDE Version: 4.9.3
Qt Version: 4.8.2
Phonon Version: 4.6.0
Phonon Backend: GStreamer (4.6.2)
Interesting, so was this an upstream issue?
*** Bug 312279 has been marked as a duplicate of this bug. ***
Closing based on comment #23. Please all, make sure you have the latest gstreamer version, at least version 0.10.36.
My tracks are located on local 10k rpm rapid drive so it could not be a problem here. But even if they were located on a remote storage, is it too hard to start pre-loading a next track before end a previous one?
The fact that it will only work with the phonon-backend-gstreamer and will not for .mp3 files (the most popular format, by the way) and only in certain moon position and the fact developers know about it does not solve the problem.
I am using VLC and don't want to switch to gstreamer. Is there a bug report on the phonon-vlc bug tracker? Is it related yo phonon-vlc at all or is it related to how amarok (phonon?) use it?
It totally depends on the Phonon backend, yes, as Amarok does no playback itself. Please make a feature request for the Phonon-backend-vlc
Okay, thank you.
That request would be pointless as phonon-vlc cannot do gapless because vlc cannot do gapless. i.e. you'd best file the feature request with vlc, although AFAIK there are plenty of those already.