Endless loop on resuming playing

Bug #446980 reported by p.alfa
30
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Exaile
Fix Released
High
Unassigned

Bug Description

If the resume playing on start option is checked, when the entire playlist content is missing (for example I was playing a CD and then run Exaile again without the CD) AND the repeat playlist is on, Exaile loops endless trying to play missing tracks and complaining each time.

There is no way to block it, unless killing. There is no easy way to make it run smoothly again besides inserting the CD again.

reacocard (reacocard)
Changed in exaile:
importance: Undecided → High
Revision history for this message
Daniel Uhl (uhl-daniel) wrote :

I just tried to fix it but im not familiar with launchpad and contributing to OSS-Projects but you just have to do that so it stops after any nonexistant tracks:

=== modified file 'xl/player/queue.py'
--- xl/player/queue.py 2009-09-04 05:55:28 +0000
+++ xl/player/queue.py 2009-10-23 16:47:45 +0000
@@ -80,7 +80,7 @@
                 return None

             if not self.ordered_tracks:
- if self.current_playlist:
+ if self.current_playlist and self.current_playlist.next.exists():
                     track = self.current_playlist.next()
                     self.current_playlist.current_playing = True
                     self.current_playing = False

I would be happy if somebody could help me a bit about Launchpad and bzr because i want to contribute more to exaile.

Revision history for this message
reacocard (reacocard) wrote :

The problem with using exists() is that it can be VERY slow, which leads to a bad user experience. The proper way to do it is to catch the error from gstreamer as it comes down the bus.

Also, its worth noting that patches should always be attachments, rather than inline. this helps preserve formatting and avoids clutter. Not sure what other questions you have about bzr/launchpad/exaile, but feel free to come by our irc channel, #exaile on freenode, and ask.

Revision history for this message
Cody A.W. Somerville (cody-somerville) wrote :

I run into this problem consistently but in my case its because I'm offline and so exaile attempts to connect to all the streams in my last playlist. I also ran into this issue when selecting a shoutcast station that had no accessible mirrors due to too many people listening.

So it seems like this issue is easy to run into. The easiest fix is to avoid creating a dialogue for these errors and instead indicate these issues passively.

Changed in exaile:
status: New → Confirmed
Revision history for this message
reacocard (reacocard) wrote :

Shouldn't happen anymore in trunk on the normal engine - playback will halt after the first error.

Changed in exaile:
milestone: none → 0.3.1
status: Confirmed → Fix Committed
reacocard (reacocard)
Changed in exaile:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.