Clementine-audio-player-Mac.../src/internet/somafm
Jim Broadus 6240fd3d0a player: Fix crash on UrlHandler error.
In a case where a playlist is composed entirely of unresolvable
internet service URLs and the playlist is set to repeat, playing an
item will result in an infinite (until crash) recursive condition.
HandleLoadResult is called with a NoMoreTracks result. It then calls
NextItem, which calls PlayAt for the next item, which, again, calls
HandleLoadResult.

This can be reproduced by logging into a subsonic server, adding items
to an empty playlist, then signing out.

To solve this, separate the error condition from the NoMoreTracks
result. Handle URL resolution errors the same way that media playback
errors are handled, where an error count is incremented and the player
stops if a limit is reached. The common code also notifies the playlist
of the error and provides user feedback by graying out the item.
2021-06-21 12:52:25 +01:00
..
somafmservice.cpp internet/core: Move context_menu_ to base class 2021-03-18 11:16:14 +00:00
somafmservice.h internet/core: Move context_menu_ to base class 2021-03-18 11:16:14 +00:00
somafmurlhandler.cpp player: Fix crash on UrlHandler error. 2021-06-21 12:52:25 +01:00
somafmurlhandler.h Fix header guards in internet/ 2014-12-18 23:54:21 +01:00