streamingicecastliquidsoap

LiquidSoap - modifying stream meta description to match schedule


So using LiquidSoap for driving my radio station. I have 3 playlists defined and a schedule to switch between them:

pl1 = nrj(playlist("/var/www/html/radiojuno.com/playlists/pl1.m3u"))
pl2 = nrj(playlist("/var/www/html/radiojuno.com/playlists/pl2.m3u"))
pl3 = nrj(playlist("/var/www/html/radiojuno.com/playlists/pl3.m3u"))

radio = switch([ ({22h-7h}, pl1), ({7h-19h}, pl2), ({19h-22h}, pl3) ])

output.icecast(
    %mp3,
    host = "localhost",
    port = 8000,
    password = "xxxx",
    mount = "mymount",
    genre="Electronic",
    description="**Current show description**",
    url="http://example.com",
    radio
)

I'd like to modify the description of the stream according to the current schedule.

But I can't work out how this can be achieved with LiquidSoap. I've been staring at https://www.liquidsoap.info/doc-1.4.2/metadata.html for hours!

Can anyone help?


Solution

  • It's a pity, but Icecast does not support updating the server information like name or description during a source connection.

    The reason for this is that those information are sent via HTTP headers when the source client connects to the server. For more information have a look at the protocol.

    Here are the sources backing up my answer: