rafael2k / darkice

DarkIce is a live audio streamer. It records audio from an audio interface (e.g. sound card), encodes it and sends it to a streaming server. This is the official development repository of Darkice.
http://www.darkice.org
198 stars 46 forks source link

buffer overrun causes diconnect, then freeze #113

Open DanielEckl opened 9 years ago

DanielEckl commented 9 years ago

Hi guys, long time no see :)

Today I want to file a issue that't bothering me for some days.

Every now and then, about once a day, darkice seemingly looses connection, fill up the sending buffer and stops with the message:

BufferedSink :: store, buffer overrun

I guess thats because of some issues with connection or on server side, as I didn't change anything on my setup at all. So I think the cause is not on darkice side. The problem that arises by that, is that darkice stops there. It disconnects from the server, so my fallback stream kicks in, but darkice does not exit here. As soon as I notice the issue, I can just kill darkice, start it again and it will immediately work again.

So I guess the best solution would be that darkice just exists at this point, enabling me to use a simple bash loop to reconnect.

What do you think? Could there be any drawback? Are there situations where it is favorable to let it sit there while disconnected from the server?

My setup: Darkice 1.2, Icecast 2.4.1

Full debug output:

09-Aug-2015 13:35:44 BufferedSink, new peak: 463  /  176400
09-Aug-2015 13:35:45 BufferedSink, healed: 0  /  176400
09-Aug-2015 13:44:55 BufferedSink, new peak: 382  /  176400
09-Aug-2015 13:44:55 BufferedSink, new peak: 1136  /  176400
09-Aug-2015 13:44:56 BufferedSink, healed: 0  /  176400
09-Aug-2015 13:45:12 BufferedSink, new peak: 420  /  176400
09-Aug-2015 13:45:12 BufferedSink, new peak: 844  /  176400
09-Aug-2015 13:45:12 BufferedSink, new peak: 2073  /  176400
09-Aug-2015 13:45:12 BufferedSink, new peak: 4300  /  176400
09-Aug-2015 13:45:12 BufferedSink, new peak: 8793  /  176400
09-Aug-2015 13:45:13 BufferedSink, new peak: 17772  /  176400
09-Aug-2015 13:45:14 BufferedSink, new peak: 35781  /  176400
09-Aug-2015 13:45:16 BufferedSink, new peak: 71910  /  176400
09-Aug-2015 13:45:21 BufferedSink, new peak: 144001  /  176400
09-Aug-2015 13:45:23 BufferedSink :: store, buffer overrun
DanielEckl commented 9 years ago

About severity: My workaround for now is to use a local icecast to stream to and configure the remote icecast to relay that one. So it's not a pain in the neck for me.