Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-26 Thread griffon56
Great news ! Just to be complete about the bug and not miss anything in the upcoming fix : I also found out that the audio of the file preceding the audio glitch (= end of previous track) was missing for 0,5sec or so -- You are receiving this because you are subscribed to this thread. Reply to

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-26 Thread Romain Beauxis
I'll look at it. However, I'm pretty strict on reading all the data returned by the piping process (which is why it is being stopped on each metadata/track mark) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://githu

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-26 Thread Romain Beauxis
I found the source of your issue. The process restart is part of the design of `pipe()`. The audio glitches are because I forgot to consume the initial WAV header.. Will push a fix soon. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-25 Thread griffon56
Hi toots, i just tested with the package from the sid repository and same issue (external process restarts every song) happens. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/savonet/liquidsoap/issues/60

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-24 Thread Romain Beauxis
@griffon56 any chance you'd be able to test it with the latest code? I'd love to see if this is fixed for the upcoming release. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/savonet/liquidsoap/issues/607

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-23 Thread griffon56
Hi, I am experiencing the same issue using liquidsoap 1.3.3 on debian sid and wanting to interface stereotool with pipe(). The stereotool process start again on every track. even when using drop_metadata. This restart produces an annoying audio glitch. `output = mksafe(pipe(restart_on_error = t

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-21 Thread Romain Beauxis
Thanks. Appreciate the reports as well. Release is coming soon, would love to clean out more of these before pulling the trigger! -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/savonet/liquidsoap/issues/6

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-21 Thread Gilou
OK.. it still seems that output.external(%wav) is cleaner than pipe() (but màybe some programs behave better than others in this regard). Also, I was wrong, I can't easily re-inject metadata if I use pipe as I can't easily get a function to do so... Falling back to output.external on a named pip

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-21 Thread Romain Beauxis
I've added logging of the process' exit status, signal/code, etc. so that should help. `stderr` is already redirected to the logs but on level `5` only. As for the differences, I'm not sure. Most of this code was entirely reworked a couple of years ago to use a common codebase. The difficulty wi

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-21 Thread Gilou
yeah, stderr can be redirected, but a hint about the return code could be nice ;) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/savonet/liquidsoap/issues/607#issuecomment-414624901---

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-21 Thread Gilou
sox does return with a 0 code when it's happy.. anyway, sox is not my final tool, I was using it merely to test with a noticeable modification. Maybe we could have a way to debug stderr or the return code? I don't really understand why the behavior is that different using a named pipe and outpu

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-20 Thread Romain Beauxis
Ok, this should be fixed now. Please not that the process needs to restart on each new metadata so you might want to `drop_metadata` before if you don't care about them, that avoids some audio glitches when the process restarts. Also, `sox` is not really well behaved as a process, in particular

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-20 Thread Romain Beauxis
Closed #607. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/savonet/liquidsoap/issues/607#event-1799215539-- Check out the vibran

Re: [Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-20 Thread Romain Beauxis
So your problem is that `sox` exits with exit code `2` when closing its `stdin` which is currently interpreter as an error. You should set `restart_on_error` to `true`. I'm gonna work on relaxing the requirement for the external process. Also I can see deadlocks when shutting down some times. Th

[Savonet-users] [savonet/liquidsoap] is pipe() broken in master? (#607)

2018-08-20 Thread Gilou
Here is the script: ``` s = playlist("list.m3u") # sox - - for stdin/out ps = pipe(process="sox - -t wav - flanger", mksafe(s)) output.icecast(%mp3, mount="test", mksafe(ps)) ``` I get: ``` [source:4] Source pipe_8899 gets up. [pipe_8899:4] Starting process ... [pipe_8899:4] Closing process's std