Bug 308705 - Amarok playing short flac tracks multiple times
Summary: Amarok playing short flac tracks multiple times
Status: CONFIRMED
Alias: None
Product: amarok
Classification: Applications
Component: Playback (show other bugs)
Version: 2.8-git
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 320996 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-10-20 12:34 UTC by Conrad
Modified: 2014-08-11 18:56 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
debug log file of bug (21.20 KB, application/x-gzip-compressed)
2012-10-20 12:40 UTC, Conrad
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Conrad 2012-10-20 12:34:34 UTC
When playing a short flac-encoded track (tested with <=19s) amarok plays the track at least twice.

Certain conditions must match to trigger the bug: The track must not be the first to be played (e.g. because you clicked on it, it's the first of a non-repeating play list or similar), the track must be short and it must be flac-encoded (was unable to reproduce with mp3 files).

The all in all behavior gets pretty wierd:
Assuming you have two tracks in your (repeating) play list:
Track1 [FLAC] (0:10)
Track2 [MP3/FLAC] (3:20)

You start by playing Track2 and wait for it to finish. Afterwards amarok starts (correctly) playing Track1 but immediately skips the track info for Track1 (it shortly appears) and instead shows the one for Track2. However Track1 is playing. After Track1 has been played the time bar and everything is reset to Track2 0:00 and Track1 plays again (and depending on how short Track1 is this whole part is repeated even multiple times). When finished, Track2 starts playing and everything repeats like the beginning.

Reproducible: Always

Steps to Reproduce:
1. Insert short flac track to play list (tested with tracks <=19s)
2. Insert another track
3. Start playing the other track (you may seek to the end of the track, but amarok has to finish playing it itself)
4. Wait for short track to end playing (must not seek!)
5. Amarok will show to start playing the second track, but will play short track again
Actual Results:  
The short track is played multiple times.

Expected Results:  
All tracks being played once.

Using gentoo (amd64) with following ebuild and use flags:
media-sound/amarok-2.5.0-r4  USE="cdda debug embedded ipod opengl semantic-desktop utils"
Comment 1 Conrad 2012-10-20 12:40:05 UTC
Created attachment 74672 [details]
debug log file of bug

my play list contained two tracks:
1. Alestorm - Rumpelkombo [FLAC] (0:06)
2. 1. Mai '87 - Mord bleibt Mord [FLAC] (3:18)

When starting, amarok immediately started with "Mord bleibt Mord" (I seeked to the end of the track). It then played "Rumpelkombo" three times before beginning to play "Mord bleibt Mord" again.
Comment 2 Conrad 2012-10-20 13:04:42 UTC
Just tested with 2.6.0 ( ebuild media-sound/amarok-2.6.0). The bug also occurs.
Comment 3 Myriam Schweingruber 2012-10-20 14:37:36 UTC
Could you please test with both the phonon-backend-gstreamer 4.6.2 and the phonon-backend-vlc 0.6.0? SInc Amarok is not handling the playback itself but relies on Phonon for it, it would be interesting to know which backend is responsible for that.
Comment 4 Conrad 2012-10-20 14:45:09 UTC
switching from phonon-backend-gstreamer to phonon-backend-vlc in fact solved the issue for me. Seems to be a bug in the gstreamer backend.
Comment 5 Conrad 2012-10-20 18:47:21 UTC
did some testing, bug did not trigger any more with vlc backend
Comment 6 Myriam Schweingruber 2012-10-20 19:47:52 UTC
Thank you for the fast feedback, reassigning to the phonon-backend-gstreamer.
Comment 7 Myriam Schweingruber 2013-07-24 07:15:57 UTC
*** Bug 320996 has been marked as a duplicate of this bug. ***
Comment 8 Myriam Schweingruber 2014-08-10 09:45:53 UTC
Closing as the current version 4.7.2 uses the newer gstreamer 1.x libraries anyway.
Comment 9 Conrad 2014-08-10 15:30:39 UTC
This is still an issue with Amarok 2.8.0 and gstreamer 1.2.4. Additional note: pulseaudio does not influence this behaviour.

Amarok-Version: 2.8.0
KDE-Version: 4.12.5
Qt-Version: 4.8.5
Phonon-Version: 4.6.0
Phonon-Backend: GStreamer (4.6.3)
PulseAudio: Ja
Comment 10 Myriam Schweingruber 2014-08-10 15:46:31 UTC
I fear that you misunderstood, this is not about Amarok, but about the version of the phonon-backend-gstreamer, version 4.6.3 is rather old now, and it does not work with gstreamer 1.x, but only with version 0.10.x, you need version 4.7.2, and the branch for the gstreamer 1.x port to test.

It certainly works fine for me in Kubuntu which uses the patched version from that branch.
Comment 11 Conrad 2014-08-10 15:52:04 UTC
Just upgraded to Phono-Gstreamer 4.7.2. Issue got slightly more annoying but is not fixed. Playback now stops completely after the short track has been played once.

Not sure what you mean with "branch for the gstreamer 1.x". Is this a different version than the 1.2.4 I have currently installed?

Amarok-Version: 2.8.0
KDE-Version: 4.12.5
Qt-Version: 4.8.5
Phonon-Version: 4.7.2
Phonon-Backend: GStreamer (4.7.2)
PulseAudio: Ja
Comment 12 Myriam Schweingruber 2014-08-10 15:58:54 UTC
No, there is version 4.7.2 of the phonon-backend-gstreamer that still uses the 0.10.x gstreamer librarires, so just installing the 1.x ones is not enough, as those will not be used at all.

There is a development branch where the port of the backend to use the 1.x libraries is in the git repository of the phonon backend (not the master branch), and that version is already patched in Kubuntu 14.04, apparently not in other distributions yet.
Comment 13 Conrad 2014-08-11 14:59:17 UTC
I just realised I have gstreamer 0.10 and 1.2.4 installed and phonon-gstreamer is linked against 0.10.

Just installed the "1.0-porting-for-merge" branch of phonon-gstreamer, now correctly linked against gstreamer v1.2.4 but the [new] problem persists. As soon as the short track has been played once amarok completely stops playback.
Comment 14 Daniel Vrátil 2014-08-11 18:56:31 UTC
This seems to be a problem in Amarok and aboutToFinish handling: when the track is very short (shorter than the aboutToFinish interval), Amarok seems to simply skip the track and go to the next one, because the queue is empty.