OpenBSD + liquidsoap

Get the sources: https://github.com/savonet/liquidsoap/releases and untar them. Add some packages: # pkg_add ocaml # pkg_add ocaml-graphics # pkg_add fdk-aac # pkg_add faad # pkg_add libao # pkg_add libmad # pkg_add taglib # pkg_add ocaml-pcre # pkg_add ocaml-camlp4 # pkg_add libogg # pkg_add libvorbis # pkg_add flac # pkg_add lame # pkg_add gmake # pkg_add ffmpeg […]

liquidsoap | request.dynamic vs crossfading

ONLY the cross function reads parameters injected by the annotate method, the smart_cross doesn’t. So you should use the standard builtin (or your own tweaked) crossfade function, not smart_crossfade. The correct annotate arguments are liq_start_next, liq_fade_in, liq_fade_out, liq_cue_in, liq_cue_out. The liq_cue_in and liq_cue_out will be recognized and interpreted by the cue_cut function.

liquidsoap | external mplayer crashed

You are unsing the input.mplayer function and it crashes sometimes without being restarted although you have chosen restart_on_error=true? Tune it with a wrapper! def input.mplayer_s16le_eternal(~id=”input.mplayer_s16le”, ~restart=true,~restart_on_error=true, ~buffer=2.,~max=3.,s) = input.external(id=id,restart=restart, restart_on_error=restart_on_error, buffer=buffer,max=max, “xwrapper mplayer -really-quiet \ -format s16le \ -ao pcm:file=/dev/stdout \ -vc null -vo null #{quote(s)} \ 2>/dev/null”) end The xwrapper: #!/bin/bash while true; do […]

LIQUIDSOAP | output.alsa stuttering

Use output.alsa in unbuffered mode. To prevent scratching sounds on start (sound devices buffer is not empty on start) do system(“aplay -d 1 -q silence.wav”) at the beginning of your script. It replaces the buffer remnants witch silence.

liquidsoap | input.http problems

liquidsoap version 1.1.1 Under stressing circumstances (esp. hard network interrupts) input.http crashes. You can check this using the telnet interface: If http_1234.buffer_length returns 0.00 but http_1234.status returns connected. All telnet commands such as http_1234.start|stop|skip return done but liquidsoap does not react. The only way to get a proper state is to kill ans restart liquidsoap […]