From: John P. M. <jmo...@bo...> - 2012-04-05 06:04:51
|
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) |