clementine-player / Clementine

:tangerine: Clementine Music Player
https://www.clementine-player.org/
GNU General Public License v3.0
3.79k stars 682 forks source link

Clementine stops playing and do not continues to next track #7247

Open facundobatista opened 1 year ago

facundobatista commented 1 year ago

Before posting

Please follow the steps below and check the boxes with [x] once you did the step.

(actually, I'm using a version newer than what appears in the changelog or release page)

System information

Please provide information about your system and the version of Clementine used.

Expected behaviour / actual behaviour

I have a playlist opened from a .m3u file, and just play it sequentially. It plays track 1, when it finishes it goes to 2nd, then 3rd, etc. At some point, though, it does NOT goes to next track. When I raise the Clementine window I see that it highlights the just played track, with FIXME.

I know there are several reports about this, already closed, but those are quite old versions (Clementine and OS). This is happening to me in Ubuntu 22.04, using Clementine 1.4 rc2, Qt 5.15.3.

I read in those reports that the relation between files may be important, so I collected some samples here, showing the "last played track" in first column and the "next track that it did NOT started playing" in the second:

Input #0, mp3, from '03. Superheroes.mp3':
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
Input #0, mp3, from '04. Yo no quiero volverme tan loco.mp3':
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s

Input #0, mp3, from 'Jim Croce - Time in a bottle.mp3':
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
Input #0, mp3, from 'Attaque 77 - Hacelo por mí.mp3':
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 224 kb/s

Input #0, mp3, from '01. La cumparsita (por qué canto así).mp3':
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
Input #0, mp3, from '02. Tiempos viejos.mp3':
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s

Please let me know if I can collect more info or help you with the debugging somehow.

Steps to reproduce the problem (only for bugs)

Just let Clementing go through a long playlist and at some point it will just stop.

jefferysmall commented 2 months ago

I want to confirm this with Ubuntu 22.04.5 and all recent versions of clementine. I keep building from the latest source and just downloaded and installed version 1.4.0rc1-931-gbd22ace4e. Typically I have a huge set of songs that I play in random order. As facundobatista reports, things work for a while and then a song comes to the end and clementine hangs. I use playerctl(1) to monitor what is playing and when the song completes the {{duration(position)}} which has been advancing towards the total length {{duration(mpris:length)}} resets to 0:00 and clementine hangs indefinitely. You can manually click on Next Track or issue a playerctl next and everything gets moving once again until the next hang.

There is no consistency as to when a hang occurs and it is not repeatable. Restart the hanging track and it will typically advance to the next as expected. I would say that the problem is internal to clementine and has nothing to do with the songs being played.

If anything, it seems to me that this problem is getting a bit worse (i.e., it hangs more frequently) as I install later versions, but I cannot quantify this. This is annoying.

jefferysmall commented 2 months ago

Note that I previously reported this same issue as bug #7251.

https://github.com/clementine-player/Clementine/issues/7251

These should probably be merged and hopefully addressed.

facundobatista commented 2 months ago

This is still happening to me, yes. Lot of times when this happens (can't assure it's always), there is some other sound from other app in the system in the middle.

In other words, maybe this could be explained with something like "other app stole the sound device from Clementine so when it wants to send other stream there is an error". If yes, probably the issue is in an underlying layer, but Clementine could support that and re-grab the device, etc.

Maybe the first step is to improve error reporting around it?