Clementine-audio-player-Mac.../src/internet/radiobrowser
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
..
radiobrowserservice.cpp fall back to url if url_resolved is empty 2021-06-02 22:40:13 +01:00
radiobrowserservice.h snake_case for variable names; reworked url resolution signals 2021-04-07 14:22:15 +01:00
radiobrowsersettingspage.cpp Use smart pointers for menus; move static vars and most private methods to an anonymous namespace 2021-03-16 11:03:00 +00:00
radiobrowsersettingspage.h settings: Don't connect service-specific signals to every page 2021-03-24 10:31:52 +00:00
radiobrowsersettingspage.ui Added settings page 2021-03-16 11:03:00 +00:00
radiobrowserurlhandler.cpp player: Fix crash on UrlHandler error. 2021-06-21 12:52:25 +01:00
radiobrowserurlhandler.h snake_case for variable names; reworked url resolution signals 2021-04-07 14:22:15 +01:00