hi John! Le 5 avril 2012 00:39, John Paul Morrison <[email protected]> a écrit : > Does mksafe() do its own buffering? > > I've got a simple script to read from a named pipe, and it doesn't seem to > work without mksafe(). > > Anyway, there seems to be about 20 seconds worth of buffering and I don't > think it's coming from the writer of the named pipe. > Is there some way to get around this? The writer on the pipe is controlled > by an iPod, so it's annoying to wait 20 seconds after pressing pause, or > skipping to a new track. > > Fiddling with buffer/max on input.external, and burst/buffer settings on > output.harbor don't seem to improve things. > > Anything else I can try? > > > def input.shairport(~id="input.shairport", > ~restart=true,~restart_on_error=false, > ~buffer=0.2,~max=10.,s) = > input.external(id=id,restart=restart, > restart_on_error=restart_on_error, > buffer=buffer,max=max, > "dd if=#{quote(s)} 2>/dev/null") > end > > s = mksafe(input.shairport("/tmp/shairtunes.pcm")) > output.harbor(%mp3(bitrate=256),port=8002,fallible=false,mount="Shairport",s)
Hmm that's a weird situation.. mksafe should not do any buffering.. Its definition is simply: fallback(track_sensitive=false, [s, blank()]) ... I'd be more suspicious about something being funky with the blank that is added by mksafe in relation with output.harbor.. Blank is a very bad thing with compressed data and output.harbor is still a pretty experimental operator.. You may want to try with another output to being with and see how it behaves.. For instance a output.icecast.. Romain ------------------------------------------------------------------------------ Better than sec? Nothing is better than sec when it comes to monitoring Big Data applications. Try Boundary one-second resolution app monitoring today. Free. http://p.sf.net/sfu/Boundary-dev2dev _______________________________________________ Savonet-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/savonet-users
