[Icecast-dev] libshout crashing during pause
George R. Welch
george at grwelch.com
Mon Sep 17 10:44:28 PDT 2012
On 9/17/12 12:37 PM, Michael Smith wrote:
> On Mon, Sep 17, 2012 at 9:29 AM, George R. Welch <george at grwelch.com> wrote:
>> Hello. For various reasons I am writing my own source client.
>>
>> Most things seem to be working well. Connections work. shout_send() and
>> shout_sync() seem to behave as expected.
>>
>> However, I find that if more than about 10-20 seconds passes between
>> shout_send() calls then libshout crashes (takes my client down) during a
>> subsequent shout_send().
> Are you sure it's libshout crashing, and not your application?
Yes, I have checked carefully. I can supply you with a test program
that demonstrates this if you like.
> It's normal for libshout to return an error in this sort of situation,
> but I don't know of any bugs that would make it crash - but maybe your
> application isn't handling the error case correctly.
>
>> Are there any rules about how often shout_send() should be called? (Yes, I
>> know about shout_sync.)
> Typically: multiple times per second. Worst case every couple of
> seconds is ok in most cases.
OK, that is very useful.
>> How can I keep the library from crashing if long stretches of time pass with
>> no input to the server?
> Like I said: it shouldn't crash (see below).
>
>> Background: What I want to do is periodically stream a file (or several) to
>> icecast, but with stretches of time in between with nothing playing. I want
>> the mount-point active so that listeners can connect (even if nothing is
>> currently playing). Then whenever my client sends another stream to icecast,
>> the various listeners would just hear it.
> That's not how icecast works. If the source client isn't sending data
> continuously, icecast will disconnect the source.
>
> It's up to you to create a continuous stream to send to icecast, even
> if it doesn't contain "interesting" content. Pure digital silence
> isn't recommended though, because it interacts badly with client
> buffer sizes.
Again, this is incredibly useful. I guess in between my batches of
content I could just send it -80 db of pink noise, or something? Does
that sound about right?
Thank you very much for your help!
--George
More information about the Icecast-dev
mailing list