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
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.
pulseaudio-discuss mailing list