Hi,

I'm experiencing an issue identical to the one described here:

http://sourceforge.net/mailarchive/forum.php?thread_name=154311232599096%40webmail87.yandex.ru&forum_name=savonet-users

In short: after some time (several hours or a few days) the output from LiquidSoap is muted. Everything appears to work properly i.e. metadata is updated, logs indicate that LiquidSoap is operating as it should but listeners can hear nothing but silence. As far as I noticed the problem occurs in a middle of a song and not during song change.

I'm using version 0.3.8.1 installed from a binary package for Debian 4.0. Below is the script I use. In order to find the source of the problem I eliminated amplify(), smart_crossfade(), transitions in the last instance of fallback() but that didn't help.

I've noticed that if I start harbor input (called live in the script) LiquidSoap properly switches to it and sound can be heard. After harbor input terminates the script properly switches to the previous playlist and continues to operate properly for some time.

I'm about to move LiquidSoap to a different server. Then I will be able to leave LiquidSoap in this muted state and give you access to the logs. I hope this will allow you to find a solution.

Regards,
--
  Michal Durys                 //              Spiritus movens
  joe<AT>anime.com.pl      \\ //           http://anime.com.pl
                            \X/

#!/usr/bin/liquidsoap

%include "~/radio/config.liq"

# define replay_gain protocol
add_protocol("replay_gain", fun(arg, delay) -> 
get_process_lines("~/radio/replaygain.pl #{quote(arg)}"))

# add default meta information
def acpmeta (title, source)
    rewrite_metadata([("title", title), ("artist", "Radio anime.com.pl"), 
("album", "Radio anime.com.pl"), ("comment", "Radio anime.com.pl")], source)
end

# crossfade transition
def trans_crossfade(a, b)
    add(normalize = false,
        [sequence([blank(duration = 2.0), fade.initial(duration = 4.0, b)]),
        fade.final(duration = 4.0, a)])
end

# sources
default = acpmeta("awaria", sine(duration = 10.0))
jingles = acpmeta("przerywnik", playlist(reload = 3600, "~/radio/jingles.m3u"))
promo = acpmeta("promocja", playlist(reload = 3600, "~/radio/promo.m3u"))
anime = playlist(mode = "randomize", reload = 28800, "~/radio/anime.m3u")
jpop = playlist(mode = "randomize", reload = 28800, "~/radio/jpop.m3u")
touhou = playlist(reload = 28800, "~/radio/touhou.m3u")
live = input.harbor("live.ogg")

# produce radio stream
music = switch([
    ({0h-1h or 12h-13h}, touhou),
    ({9h-10h or 16h-17h or 21h-22h}, jpop),
    ({true}, anime)
])
radio = fallback([delay(1800.0, random(weights = [3, 1], [jingles, promo])), 
music])
radio = amplify(1.0, override = "replay_gain", radio)
radio = smart_crossfade(radio)

# switch to live stream whenever it is available
radio = fallback(track_sensitive = false, transitions = [trans_crossfade, 
trans_crossfade], [live, radio, default])

# output final stream to server
output.icecast.vorbis(mount = "radio.ogg", quality = 2.0, host = radiohost, 
port = radioport, password = radiopass, genre = radiogenre, url = radiourl, 
name = radioname, description = radiodesc, radio)
------------------------------------------------------------------------------
_______________________________________________
Savonet-users mailing list
Savonet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to