[pulseaudio-discuss] Data Queuing & rendering

Tanu Kaskinen tanuk at iki.fi
Mon Nov 30 09:06:16 PST 2015


On Sat, 2015-11-28 at 12:58 +0530, Deeps P wrote:
> Hi Team,
> 
> Thank you so much for your support.
> i'm very new to pulseaudio.
> 
> Would like to know more on
> 
> 1. how the data is queued from client

There is a per-stream buffer in the daemon for client audio. When the
buffer fill level is low enough, pulseaudio sends a message to the
client requesting for more audio. The client will then send that amount
to the server.

> 2. read by sink component which finally writes to Hw buffer of sound
> card

The sink thread wakes up periodically to read data from all streams
connected to that sink. The aforementioned stream buffer should contain
enough audio to satisfy the sink request. The sink mixes the audio it
got from the streams and writes that to the hardware buffer.

> 3. how the synchronization is acheived.

I don't know what you mean.

> Sorry i went through available stuffs online, but with respective
> to code it is not much clear on exact steps.
> As there is no sequence available to understand the design.

Yes, the documentation isn't excellent...

> It will be helpful if we can get more details w.r.t to code.

May I ask why you are interested in this information?

-- 
Tanu


More information about the pulseaudio-discuss mailing list