[pulseaudio-discuss] [PATCH v2] pipe-source: suspend source when no writers connected to fifo

Georg Chini georg at chini.tk
Sat Feb 10 22:08:42 UTC 2018

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.

More information about the pulseaudio-discuss mailing list