+2
Fixed

Playlist caching causing playback to fail

Marc F 5 years ago • updated by Jona (Lead Developer) 4 years ago 12
Steps to reproduce the problem:
Add a new favorite into Xiialive with a URL like this:
http://abc.com/playlist.pls
Where playlist.pls file contains the following stream addresses:
http://server1.abc.com/station.aac
http://server2.abc.com/station.aac

In this case Xiialive will behave correctly, playing the stream from server1. If that address fails, Xiialive will play from server2.

However, suppose later in the day the contents of http://abc.com/playlist.pls has changed to the following because server1 and server2 are down:
http://server3.abc.com/station.aac
http://server4.abc.com/station.aac

Now when the user attempts to play the station Xiialive will have cached the server1 and server2 addresses and still attempt to play them, and playback will therefore fail.

Workaround:
Currently the only workaround I've found is to briefly play a different station (this will flush the cached stream addresses) and then reselect the favourite. This will cause http://abc.com/playlist.pls to be re-downloaded and playback will succeed.

Suggested solution:

Provide a setting toggle to force the playlist to re-downloaded on each playback attempt.

Answer

Answer
Started
Thanks for the feedback. I'm removing playlist URL caching for manually added URL links. This should make things a bit better with issues such as the one you are having.
OK, I'm pretty sure this is the same issue:
http://support.xiialive.com/topic/133524-bbc-aac-s...

In fact, that post describes exactly the issue I am seeing, I just wrote it up in a more generic way.

Answer
Started
Thanks for the feedback. I'm removing playlist URL caching for manually added URL links. This should make things a bit better with issues such as the one you are having.
Fantastic, thanks Jona! :)
Jona, is this fix in the Feb 6th release? Just tried it and it didn't seem to be.....
Hey, yeah last update should resolve this issue. Simply remove the favorite with the issue and re-add it.
Hi Jona,

I've now upgraded to XiiaLive pro so that I can use shortcuts, and it seems like the problem is still there when shortcuts are used.

When I click the shortcut  a few hours after the last playback, Xiialive will start but I will get a message "Unexpected Stop".

Looking in the debug log I see this:
03-14 14:45:53.567 W/ffmpeg_log(21624): HTTP error 403 Forbidden
03-14 14:45:53.567 E/JniPlayer(21624): receive_thread() -> File:'http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lc1_6music_p?s=1394791712&e=1394806112&h=36e42034f3ee4f5a0cff6d20aded0b88', Error:-5
03-14 14:45:53.567 I/JniPlayer(21624): receive_thread() -> cleaning up after failure
03-14 14:45:53.567 I/JniPlayer(21624): receive_thread() -> starting clean_up!


Thanks for the info Marc. I see that the log has error "HTTP error 403 Forbidden" this means the station server is not accepting connection. Please try using XiiaLive Beta to see if this issue is resolved.
Hi Jona, I've given the beta a try, unfortunately the problem still occurs but the message displayed is different, it now says "Http 403 [Forbidden]".

Also, the same problem occurs whether I use a shortcut or a favourite, so it's the same problem as I found at the start of this thread, the playlist is being cached.

Oh man, yeah the previous fix had a hole... The BBC urls do have expiration times and the playlist is still getting cached so the issue is still happening. I will figure out how to improve this. Maybe add an option to allow playlist caching. By default would be OFF. I'm thinking individual stations would be able to control this.
Hi Jona,
The playlist caching option sounds perfect to me, I mostly use Xiaalive in the car using the bluetooth AutoStart function, so this would be a huge help with that.

Hope this is not to difficult to code up :)

Marc.