Handle network errors better
Network errors needs to be handled in different situations:
- when downloading playlist (libsoup)
- when starting playback (gstreamer)
- during playback (gstreamer)
In case the network is down, we should remember what's the current action, and retry it when the network is back up. Because if you have a bad network that tends to have failures now and then, it's really annoying if the player just stops and never starts again. You want it to resume when the network is back up.
There's a need to distinguish between network errors (that require resume), and other errors that doesn't require a retry (like wrong uri).
There's a need to know when the network is down (since gstreamer error "Could not resolve server name" can mean network done, or wrong url), and a need to know when it goes back up.
Also a need to report that properly to user: an error that is fatal and stops the playback (bad uri) should be reported in a notification. A network error needs not to be reported, because the playback is not stopped, but waiting to be resumed. But having a status line in the ui/tooltip/mainwindow would not hurt (like: "Waiting for network").
GNetworkMonitor might come in handy, or maybe not.