[pulseaudio-discuss] [PATCH v7] pipe-source: implement autosuspend option

Raman Shishniou rommer at ibuffed.com
Tue Feb 20 12:50:09 UTC 2018

On 02/20/2018 03:16 PM, Georg Chini wrote:
> On 20.02.2018 13:11, Georg Chini wrote:
>> On 19.02.2018 16:01, Raman Shyshniou wrote:
>>> Currently the pipe-source will remain running even if no
>>> writer is connected and therefore no data is produced.
>>> This patch adds the autosuspend=<bool> option to prevent this.
>>> Source will stay suspended if no writer is connected.
>>> This option is enabled by default.
>>> ---
>>> +
>>> +    pa_memchunk_reset(&chunk);
>>> +    chunk.memblock = pa_memblock_new(u->core->mempool, u->pipe_size);
>> Further down, you might put some data in the memchunk before the
>> read if the previous data was not frame aligned, therefore the memblock
>> size must be u->pipe_size + fs.
> Looking twice, I see you subtract the index from the read size. Nevertheless I
> guess it would be simpler to increase the memblock size by one frame.

I prefer to keep buffer sizes to be power of 2.
Currently pipe_size is 4096 (as determined by pulseaudio, actually 64k,
I'll check later why). Adding one frame to the size of buffer makes it
a little more than 4096 but much less then 8192.

More information about the pulseaudio-discuss mailing list