Sky.FM premium streaming doesn't work, quickfix included

Bug #413433 reported by Veikko Immonen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Exaile
Fix Released
Undecided
Unassigned

Bug Description

Streaming from Sky.FM premium streams doesn't work with exaile. Probably other similarly functioning services won't work corretcly either.

I've traced the problem down to approximately this:

The Sky.FM premium streams identify subscribers via a token passed as a query string to the stream URL. So the stream URL looks roughly like:
http://sky.fm/stream.pls?secrettoken

The problem seems to be the question mark separating the query string. Exaile does some URL encoding before making the actual request and I think the question mark ends up being transmitted as an encoded entity instead of a functional URL token...

I strolled through the sources and ended up commenting out line 158 at /usr/lib/exaile/xl/player/engine_normal.py. After that, voilà, it works!

I'm no way familiar with exaile internals, so I leave the final corrective decision to you developers, but I suppose this bit of information is precise enough for you to hunt down the real reason for this bug.

A snippet of code around line 158 to avoid any confusion:

    # TODO: make this part of the track object
    def _get_track_uri(self, track):
        uri = track.get_loc_for_io()
        split = urlparse.urlsplit(uri)
        # TODO: remove this before 0.3.0 since it is not needed for
        # stable->stable upgrades
        assert split[0] != "", _("Exaile now uses absolute URI's, please "
                                 "delete/rename your %s directory") \
                                         % xdg.data_home
        path = common.local_file_from_url(uri).encode()
# path = urllib.pathname2url(path) <-- line 158
        uri = urlparse.urlunsplit(split[0:2] + (path, '', ''))
        return uri

My exaile version is 0.2.99.3. Python libraries are those of Ubuntu 9.04, all security updates (if any) have been applied.

Lastly I'd like to thank you all for a great player, this one seems to have big potential once the bugs are all squashed!

Revision history for this message
Veikko Immonen (veikko-immonen) wrote :

Fixed in 0.2.999.1!

This morning Ubuntu offered to update exaile and it seems that this bug has been fixed, great!

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

Other bug subscribers

Remote bug watches

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