[Icecast] Use of TCP_CORK instead of TCP_NODELAY

Henri Zikken henri.zikken at deltasolutions.nl
Sun Dec 25 06:04:41 PST 2005


We're abusing icecast in a true narrowcasting setup (personalized stream per
mountpoint). The streams itself are created in a piece of proprietory
(spelling?, i'm dutch) software, icecast merely relays them.

However, the intended endpoint is an embedded device. This device has
trouble with tcp/ip packets not matching the max. packet size (MSS or MSS
minus header). After eleborate testing, we found that using the sockopt
'TCP_CORK' instead of 'TCP_NODELAY' produces far better results on the field
on reconnects etc/. Also, with streaming media, TCP_CORK is more efficient
than TCP_NODELAY.

To patch icecast to use tcp_cork is a piece of cake, it involves no more
than 10 lines of code. My question would be if the maintainers would
consider bringing this into the main tree. It could be implemented as flag
for configure, of, (even better) as some setting in the config file.

I have already implemented this as configure flag. If this is considered
something usefull, i will submit the patch i created.

Regards,

Henri Zikken



More information about the Icecast mailing list