The situation is we have multiple instances of liquidsoap running, and they
all are configured to play either harbor input or content local on the
server. If there is no valid content to pull, the dynamic request returns an
mp3 clip of static. I know liquidsoap can generate static on it's own, but
it's helpful for other reasons to have our dynamic request always return
something. Although prior to using the mp3 clip, we did have liquidsoap
generate the static. Regardless, it appears that all of the large memory
swells are for liquidsoap instances that play the same default content over
and over..either the static mp3 (or the Liquidsoap generated static)
Here is an exmaple of one script
set("init.daemon",true)
set("init.daemon.pidfile.path","/home/djbot/pids/1.pid")
set("log.file.path","/home/djbot/logs/1.log")
set("harbor.bind_addr","0.0.0.0")
set("harbor.port", 3000)
set("harbor.password","gaex6022")
set("harbor.icy.metadata_formats",["audio/mpeg","audio/aacp","audio/aac","audio/x-aac","audio/ogg","application/ogg"])
master_dj_live_input = input.harbor("master_dj")
guest_dj_live_input = input.harbor("guest_dj")
def meta_logger(m)
system("ruby /home/djbot/meta_logger.rb -a #{quote(m['artist'])} -t
#{quote(m['title'])} -l #{quote(m['album'])} -y #{quote(m['year'])} -s
#{quote(m['source'])} > /home/djbot/meta_data/1_meta.yaml")
end
backup = blank(duration=30.)
dj_bot_tracks =
request.dynamic(id="local_selector",{request.create(get_process_output("ruby
/var/www/dj_bot/current/script/pick_track 143 content"))})
auto_dj = skip_blank(
length=15.,
dj_bot_tracks
)
auto_pilot =
normalize(id="local",fallback(track_sensitive=false,[auto_dj,backup]))
radio =
fallback(id="live_fallback",track_sensitive=false,
[strip_blank(id="live_strip_blank",length=60.,fallback([master_dj_live_input,guest_dj_live_input])),
auto_pilot])
radio = on_metadata(meta_logger,radio)
output.shoutcast.mp3(
host = "10.24.92.135",
port = 3052,
password = "xxxxxxxx",
bitrate = 64,
stereo = false,
name = "Loudcaster: Smashteroid",
genre = "Hard Rock, Heavy Metal, Rock, Metal",
url = "http://loudcaster.com/channels/1",
public = true,
restart = true,
restart_delay = 10,
radio)
output.shoutcast.aacplus(
host = "10.24.92.135",
port = 3054,
password = "xxxxxxxx",
bitrate = 24,
name = "Loudcaster: Smashteroid",
genre = "Hard Rock, Heavy Metal, Rock, Metal",
url = "http://loudcaster.com/channels/1",
public = true,
restart = true,
restart_delay = 10,
radio)
On Thu, Sep 2, 2010 at 11:42 AM, David Baelde <[email protected]>wrote:
> 2010/9/2 Brandon Casci <[email protected]>:
> > Is this normal?
>
> No it's not, unless you're doing really weird stuff in your script :(
>
> It won't be easy, but some more info would help us find out what's
> going on: what version are you using? can you provide a minimal script
> causing memory leaks? If the leak is noticeable in a short enough
> time, you could try to deactivate special input/outputs to see what's
> part of the equation (it's usually around I/O, network, file encoding
> or decoding..)
>
> Thanks for the report,
>
> David
>
--
=========================================
Brandon Casci
Loudcaster
http://loudcaster.com
=========================================
------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:
Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users