kingosticks / mopidy-tunein

Mopidy extension for playing music from tunein
Apache License 2.0
65 stars 14 forks source link

'Malformed' playlists cause 'list index out of range' #13

Closed kingosticks closed 9 years ago

kingosticks commented 9 years ago

Originally reported by @willwach in https://github.com/mopidy/mopidy/issues/853:

Same problem for most streams of RBB. Newest version of "pi musicbox" 0.5.2 With debug messages.

www.inforadio.de 2015-01-02 09:40:45,604 - INFO Starting new HTTP connection (1): opml.radiotime.com 2015-01-02 09:40:47,661 - INFO Starting new HTTP connection (1): www.inforadio.de 2015-01-02 09:40:48,182 - ERROR GStreamer encountered a general supporting library error. Debug message: /usr/local/lib/python2.7/dist-packages/mopidy/audio/playlists.py(212): _event (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin6/GstDecodeBin2:decodebin23/mopidy+audio+playlists+UriListElement:mopidy+audio+playlists+urilistelement2: : list index out of range

www.fritz.de 2015-01-02 09:41:29,276 - INFO Starting new HTTP connection (1): opml.radiotime.com 2015-01-02 09:41:30,850 - INFO Starting new HTTP connection (1): www.fritz.de 2015-01-02 09:41:35,095 - ERROR GStreamer encountered a general supporting library error. Debug message: /usr/local/lib/python2.7/dist-packages/mopidy/audio/playlists.py(212): _event (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin8/GstDecodeBin2:decodebin24/mopidy+audio+playlists+UriListElement:mopidy+audio+playlists+urilistelement3: : list index out of range

www.radioeins.de 2015-01-02 09:42:17,784 - INFO Starting new HTTP connection (1): opml.radiotime.com 2015-01-02 09:42:18,541 - INFO Starting new HTTP connection (1): www.radioeins.de 2015-01-02 09:42:19,029 - ERROR GStreamer encountered a general supporting library error. Debug message: /usr/local/lib/python2.7/dist-packages/mopidy/audio/playlists.py(212): _event (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin11/GstDecodeBin2:decodebin26/mopidy+audio+playlists+UriListElement:mopidy+audio+playlists+urilistelement5: : list index out of range

The 'Fritz vom rbb' stream is reported by mopidy-tunein as 'malformed' ASX and this error case somehow leaves the audio pipeline in a mess. Need to fix the parsing and understand how the error managed to leave such a mess behind.

kingosticks commented 9 years ago

The www.inforadio.de is a new-style ASX playlist with extension ',wax' and content-type 'audio/x-ms-wax'. The playlist entries are themselves old-style ASX playlists (content type 'x-ms-asf') with those weird .asf entries (http://rbb-inforadio-wma-m-a.wm.llnwd.net/rbb_inforadio_wma_m_a?mswmext=.asf) where you are usually supposed to interpret them as mms:// streams (else they just link back to themselves and appear as a recursive playlist). So you end up with 'mms://rbb-inforadio-wma-m-a.wm.llnwd.net/rbb_inforadio_wma_m_a' but whilst VLC can play this stream, gstreamer cannot.

I can't imagine why they felt the need for this setup. I'm not interested in supporting stuff like this.

adamcik commented 9 years ago

On a quick side note, the totem playlist handling already does this right. One of the many reasons to abandon our futile attempts to do things like this in mopidy ourselves :-)

kingosticks commented 9 years ago

I cannot wait. I really cannot.