I have set up Icecast 2.3.3 server on Fedora 32, I use Ice04 as a mp3 streaming client. Everything works fine for some time, generally a few days. After that time, Icecast disconnects from Ices with this message in the error.log
[2021-04-02 14:21:32] DBUG source/get_next_buffer last 1617366081, timeout 10, now 1617366092
[2021-04-02 14:21:32] WARN source/get_next_buffer Disconnecting source due to socket timeout
[2021-04-02 14:21:32] INFO source/source_shutdown Source "/channel2" exiting
[2021-04-02 14:21:32] DBUG source/source_clear_source clearing source "/channel2"
From google search, I found that this problem happened with others also. From what I understood the reason it disconnects is that the streaming client did not send any data within a given time period. A recommended solution was setting up the source-timeout to higher number. So I did update my Icecast confing and here is how it looks now in the limits section
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>60</header-timeout>
<source-timeout>60</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
I changed it from 10, to 60. But the problem still persists. It still disconnects after few days, with the same message. Disconnecting source due to socket timeout.
I don't really understand why this happens.
Why Ices does not send any data for 60 seconds?
I tried to find a solution on the web, reading through forums and it seems like others also encountered this problem but nowhere I really found some reasonable answer. All the discussions basically end up nowhere. For some it miraculously started working well, others probably gave up.
So, I am really confused about what is happening there, how to troubleshoot it and fix it.
Could anyone bring some more light to this issue?