Bug #627
Network connection dropped then resumed, but Audacious does not refresh status
100%
Description
Having a small but nagging issue with Audacious.
I have it started automatically on login. My network connection takes a few seconds to come up upon boot, so when Audacious first starts it has no connection yet, but it loads my playlist (which is streaming from the network). This causes it to give an error, which is fine. However, even once the connection comes back up, Audacious does not refresh the status and still refuses to play the file - it gives an "unknown playback error".
I did an experiment starting audacious with -VV and the link down, then brought it up.
This is what happens during the initial connection (note this is with Audacious 3.7.1 - behavior is similar with the 3.8 version though):
INFO plugin-init.cc:177 [start_plugins]: Starting Audio CD Menu Items.
INFO probe.cc:61 [file_find_decoder]: Probing http://prem1.di.fm:80/trance_aac?bc692927b47e7b85af5798f2.
DEBUG probe.cc:90 [file_find_decoder]: Matched 0 plugins by extension.
DEBUG probe.cc:95 [file_find_decoder]: Opening http://prem1.di.fm:80/trance_aac?bc692927b47e7b85af5798f2.
INFO plugin-load.cc:66 [plugin_load]: Loading plugin: /usr/lib/audacious/General/cd-menu-items.so.
DEBUG neon.cc:726 [fopen]: <0x7f5a7002b550> Trying to open 'http://prem4.di.fm:80/epictrance_aac?bc692927b47e7b85af5798f2' with neon
DEBUG neon.cc:566 [open_handle]: <0x7f5a7002b550> Parsing URL
DEBUG neon.cc:583 [open_handle]: <0x7f5a7002b550> Creating session to http://prem4.di.fm:80
DEBUG neon.cc:614 [open_handle]: <0x7f5a7002b550> Creating request
DEBUG neon.cc:463 [open_request]: <0x7f5a7002b550> Connecting...
INFO plugin-init.cc:177 [start_plugins]: Starting MPRIS 2 Server.
INFO plugin-load.cc:66 [plugin_load]: Loading plugin: /usr/lib/audacious/General/mpris2.so.
DEBUG neon.cc:726 [fopen]: <0x7f5a640010c0> Trying to open 'http://prem1.di.fm:80/trance_aac?bc692927b47e7b85af5798f2' with neon
DEBUG neon.cc:566 [open_handle]: <0x7f5a640010c0> Parsing URL
DEBUG neon.cc:583 [open_handle]: <0x7f5a640010c0> Creating session to http://prem1.di.fm:80
DEBUG neon.cc:614 [open_handle]: <0x7f5a640010c0> Creating request
DEBUG neon.cc:463 [open_request]: <0x7f5a640010c0> Connecting...
DEBUG neon.cc:466 [open_request]: <0x7f5a640010c0> Return: 5, Status: 0
ERROR neon.cc:539 [open_request]: <0x7f5a640010c0> Could not open URL: 5 (0)
ERROR neon.cc:542 [open_request]: <0x7f5a640010c0> neon error string: Could not connect to server: Network is unreachable
ERROR neon.cc:730 [fopen]: <0x7f5a640010c0> Could not open URL
INFO probe.cc:99 [file_find_decoder]: Open failed.
Next time it looks like it is connecting OK but ends up failing:
DEBUG neon.cc:726 [fopen]: <0x7f5a6c024930> Trying to open 'http://prem1.di.fm:80/classictrance_aac?bc692927b47e7b85af5798f2' with neon
DEBUG neon.cc:566 [open_handle]: <0x7f5a6c024930> Parsing URL
DEBUG neon.cc:583 [open_handle]: <0x7f5a6c024930> Creating session to http://prem1.di.fm:80
DEBUG neon.cc:614 [open_handle]: <0x7f5a6c024930> Creating request
DEBUG neon.cc:463 [open_request]: <0x7f5a6c024930> Connecting...
DEBUG neon.cc:466 [open_request]: <0x7f5a6c024930> Return: 0, Status: 200
DEBUG neon.cc:503 [open_request]: <0x7f5a6c024930> URL opened OK
DEBUG neon.cc:364 [handle_headers]: Header responses:
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-url: http://www.di.fm
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-notice1: <BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-notice2: SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR>
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-name: Classic Trance - Digitally Imported Premium
DEBUG neon.cc:419 [handle_headers]: ICY stream name: Classic Trance - Digitally Imported Premium
DEBUG neon.cc:368 [handle_headers]: HEADER: pragma: no-cache
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-genre: Electronic Trance Techno
DEBUG neon.cc:368 [handle_headers]: HEADER: expires: Mon, 26 Jul 1997 05:00:00 GMT
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-pub: 0
DEBUG neon.cc:368 [handle_headers]: HEADER: cache-control: no-cache
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-metaint: 8192
DEBUG neon.cc:409 [handle_headers]: ICY MetaInt as advertised by server: 8192
DEBUG neon.cc:368 [handle_headers]: HEADER: accept-ranges: none
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-br: 64
DEBUG neon.cc:425 [handle_headers]: ICY bitrate: 64
DEBUG neon.cc:368 [handle_headers]: HEADER: server: Icecast 2.3.3-kh10
DEBUG neon.cc:368 [handle_headers]: HEADER: content-type: audio/aacp
DEBUG neon.cc:397 [handle_headers]: Content-Type: audio/aacp
INFO probe-buffer.cc:31 [ProbeBuffer]: <0x7f5a6c025cb0> buffering enabled for http://prem1.di.fm:80/classictrance_aac?bc692927b47e7b85af5798f2
INFO vfs.cc:100 [VFSFile]: <0x7f5a6c025cb0> open (mode r) http://prem1.di.fm:80/classictrance_aac?bc692927b47e7b85af5798f2
DEBUG vfs.cc:159 [fseek]: <0x7f5a6c025cb0> seek to 0 from beginning
ERROR util.cc:160 [audgui_simple_message]: Error opening http://prem1.di.fm:80/classictrance_aac?bc692927b47e7b85af5798f2:
Unknown playback error
D
This is what it looks like when it is successful:
DEBUG neon.cc:503 [open_request]: <0x7efd2c0502d0> URL opened OK
DEBUG neon.cc:364 [handle_headers]: Header responses:
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-url: http://www.di.fm
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-notice1: <BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-notice2: SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR>
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-name: Trance - Digitally Imported Premium
DEBUG neon.cc:419 [handle_headers]: ICY stream name: Trance - Digitally Imported Premium
DEBUG neon.cc:368 [handle_headers]: HEADER: pragma: no-cache
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-genre: Trance Techno Dance
DEBUG neon.cc:368 [handle_headers]: HEADER: expires: Mon, 26 Jul 1997 05:00:00 GMT
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-pub: 0
DEBUG neon.cc:368 [handle_headers]: HEADER: cache-control: no-cache
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-metaint: 8192
DEBUG neon.cc:409 [handle_headers]: ICY MetaInt as advertised by server: 8192
DEBUG neon.cc:368 [handle_headers]: HEADER: accept-ranges: none
DEBUG neon.cc:368 [handle_headers]: HEADER: icy-br: 64
DEBUG neon.cc:425 [handle_headers]: ICY bitrate: 64
DEBUG neon.cc:368 [handle_headers]: HEADER: server: Icecast 2.3.3-kh10
DEBUG neon.cc:368 [handle_headers]: HEADER: content-type: audio/aacp
DEBUG neon.cc:397 [handle_headers]: Content-Type: audio/aacp
INFO probe-buffer.cc:31 [ProbeBuffer]: <0x7efd2c04eb10> buffering enabled for http://prem1.di.fm:80/trance_aac?bc692927b47e7b85af5798f2
INFO vfs.cc:100 [VFSFile]: <0x7efd2c04eb10> open (mode r) http://prem1.di.fm:80/trance_aac?bc692927b47e7b85af5798f2
DEBUG vfs.cc:159 [fseek]: <0x7efd2c04eb10> seek to 0 from beginning
DEBUG neon.cc:932 [fread]: <0x7efd2c0502d0> fread 1 x 12288
DEBUG neon.cc:771 [try_fread]: <0x7efd2c0502d0> Doing initial buffer fill
DEBUG neon.cc:665 [fill_buffer]: <0x7efd2c0502d0> Read 1440 bytes of 4096
So I went a bit further, downloaded the current version from git and verified the issues still persisted, I isolated to these lines in run_playback and determined that pb_info.tuple was not populated:
// check that we have all the necessary data
if (! pb_info.filename || ! pb_info.tuple || ! dec.ip ||
(! dec.ip->input_info.keys[InputKey::Scheme] && ! dec.file))
{
So this might be a matter of refreshing pb_info.tuple somehow. I tried to poke around it a little bit but my C++ is way too rusty to get anywhere.
Other than that it's a great little player!! So I hope this is a quick fix for you.
History
#1 Updated by John Lindgren over 8 years ago
- Status changed from New to Closed
- Target version set to 3.7.2
- % Done changed from 0 to 100
Yes, I see the problem; it was a regression from:
https://github.com/audacious-media-player/audacious/commit/456c4eb8c849f8d273718c38ba9772f6193939db
It will be fixed in 3.7.2. As a workaround, you should be able to force a refresh for the selected entry by hitting the F6 key.