On 10.02.2018 23:04, Raman Shishniou wrote: > On 02/11/2018 12:43 AM, Georg Chini wrote: >> On 10.02.2018 22:25, Raman Shuishniou wrote: >>> 10.02.2018 23:59, Georg Chini пиÑ?еÑ?: >>>> On 08.02.2018 17:58, Raman Shyshniou wrote: >>>>> Make pipe-source suspended if all writers closed fifo. >>>>> Source will be automatically unsuspended if any data will >>>>> be written to pipe and suspended again when last writer >>>>> closed fifo. >>>>> --- >>>>> src/modules/module-pipe-source.c | 114 +++++++++++++++++++++++++++++++++++++-- >>>>> 1 file changed, 109 insertions(+), 5 deletions(-) >>>>> >>>> What is the motivation/use case for the patch? Normally, if there >>>> are no writers, the source should deliver silence like any other >>>> source without input signal. >>> pipe-source module can't generate silence if no writers connected >>> because it has no clock. Aactually incoming data has some clock, but >>> not pipe-source itself. Use the system clock to generate silence >>> is a bad idea because it may differ from incoming data clock. >> Take a look at the recent patches for pipe-sink that introduced using >> system-clock timing. I guess something similar should be possible >> for the pipe-source. Why would it be a problem, if the timing of the >> silence is slightly different from that of the writer? Different writers >> may have different timing anyway, so if one writer disconnects >> and another connects, timing may change. >> module-loopback is able to deal with sample rate changes on the >> input side and will adapt the sample rate of the output side so that >> it matches the incoming rate to keep a constant latency. >> > I seen the last patches for pipe-sink module. I think there is no > reason to generate silence in pipe-source module with system clock. > The source outputs will do read zeros (resample, convert) - just a > waste of cpu time. > I see your point. The reason for generating silence would be to have consistent behavior for all sources. I'll ask Tanu for his opinion.