[Icecast] The myth of the two different kinds of mounts [WAS: Re: falling back]

Ken Gillett kengroups at icloud.com
Sun May 23 12:03:14 UTC 2021


That’s what I was hoping. I already have nginx running on this server for the admin interface, so I need to figure out how to get it to stream audio in this way (although transcode script itself I can do). As I said, my Apache is rusty, but my Nginx knowledge is sparse and experience non existent. So suggestions on Nginx setup would be appreciated.



Ken  G i l l e t t

_/_/_/_/_/_/_/_/



> On 23 May 2021, at 10:26, Petr Pisar <petr.pisar at atlas.cz> wrote:
> 
> V Sat, May 22, 2021 at 12:40:55PM +0100, Ken Gillett napsal(a):
>> Could I ask more about this point here. Are you suggesting that the CGI
>> script is run by an http server (being accessed by the Icecast relay mount,
>> when first listener connects) or by Icecast directly?
>> 
> By an HTTP server.
> 
>> That would simplify the Icecast side of things, but how would that be
>> stopped when the last Icecast listener disconnects? Icecast would then
>> ‘disconnect’ from that source, but how would that then stop the
>> CGI/transcoding?
> 
> When Icecast disconnects, the CGI script process, which was writing to the TCP socket
> on its standard output, gets a SIGPIPE signal from the kernel. If the script
> did not install its own handler for the signal, a default one will be invoked
> by kernel which terminates the process. Effectivelly the script process frees all
> resources, e.g. an opened tunner device.
> 
> More advanced HTTP server may keep proxying data between an HTTP client
> (Icecast) and the CGI script. In that case the server notices a TCP disconnect
> and should (?) kill the CGI script.




More information about the Icecast mailing list