On 12.02.2018 17:23, Tanu Kaskinen wrote: > On Sat, 2018-02-10 at 23:08 +0100, Georg Chini wrote: >> 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. > My opinion: it would be nice to generate silence by default if someone > is willing to implement that, but suspending is better than the current > behaviour, if the current behaviour is to have the source state as > RUNNING while not producing any data. > Raman, are you willing to implement generating silence? This could also cover the case where a writer stays connected but does not provide any data. If not, I will proceed reviewing your patch.