Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Playback stops if file becomes unavailable #341

Open
dz0ny opened this Issue Mar 16, 2013 · 4 comments

Comments

Projects
None yet
4 participants
Member

dz0ny commented Mar 16, 2013

Playlist sometimes contain files that become unaveliable(internet connection down, wrong url). This becomes apparent in SoundCloud backend, when some file gets removed for copyright violation(guessing) but stays in playlist.

Steps to reproduce:

  1. Load playlist with removed file
  2. Play file, gstreamer complains with canresolveuri
  3. Player should skip to next available file

Log:

ERROR    Vira ni mogoče odpreti za branje. gstsouphttpsrc.c(1119): gst_soup_http_src_parse_status (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin2/GstSoupHTTPSrc:source:
Not Found (404), URL: https://api.soundcloud.com/tracks/81958744/stream?client_id=93e33e327fd8a9b77becd179652272e2
WARNING  Setting GStreamer state to GST_STATE_NULL failed
ERROR    Vrste pretoka ni mogoče določiti. gsttypefindelement.c(562): gst_type_find_element_handle_event (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin2/GstTypeFindElement:typefindelement24
WARNING  Setting GStreamer state to GST_STATE_NULL failed
Owner

jodal commented Mar 17, 2013

I agree, we should skip to next track when an URI isn't playable.

@ghost ghost assigned jodal Jan 16, 2014

@jodal jodal removed their assignment May 20, 2014

@jodal jodal modified the milestones: v0.20, v0.19 - MPD playlist mgmt and other MPD improvements Jun 13, 2014

Owner

adamcik commented Mar 4, 2015

We have a few other issues that are similar to this which should likely me merged to a single bug at some point. For most cases the next track idea is reasonable, while for radio streams you want to retry the stream. But either way, step one is actual handling of gstreamer errors beyond logging and calling stop.

@adamcik adamcik modified the milestones: v0.21 - Gapless playback, MPD playlist mgmt Mar 13, 2015

@adamcik adamcik modified the milestones: v1.2 - Gapless, v1.1 - Robust core Apr 26, 2015

Member

jcass77 commented Aug 27, 2015

Am I right in saying that an interim solution may just be to call AudioListener.send('reached_end_of_stream') somewhere here: https://github.com/jcass77/mopidy/blob/158a448e2b1e37305e59073f096546400d83ff00/mopidy/audio/actor.py#L373-L378

...that should trigger the default skip-to-next-on-error behaviour when we encounter GST errors, and mimic the behaviour currently being employed for errors in the Mopidy playback provider, correct?

@jodal jodal modified the milestones: v1.2 - Gapless and GStreamer 1.x, v1.3 - The rest of v1.2 Jan 17, 2016

Owner

adamcik commented Feb 15, 2016

#1441 is probably a dupe of this.

@jodal jodal removed the 0 - Backlog label Mar 26, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment