[pulseaudio-discuss] What is corking?

Lennart Poettering lennart at poettering.net
Fri Jan 1 04:48:09 PST 2010


On Fri, 25.12.09 20:23, David Henningsson (launchpad.web at epost.diwic.se) wrote:

> > Corking means that the application asked for the audio stream to be
> > "corked" temporarily, so that data flow stops. "uncorking" then makes
> > things flow again.
> > 
> > It's mostly synonymous to application triggered pause/unpause.
> 
> Instantaneous pause, i e without "drain buffers" first, right?

No data is dropped. On tsched enabled systems the pausing should
happen almost immediately, just a few safety samples later than the
current hw playback index. On non-tsched systems the pausing will
happen as soon as "possible", i.e. with a delay of once the hw buffer
size.

As soon as you uncork playback starts right-away again.

> > In both cases this is triggered by the app explicitly.
> 
> Thanks, that answers some questions but also raises new ones...
> 
> There are rows saying "Requesting rewind due to rewrite" but there are
> no rows following up that rewind, as seen in other logs[2]. How
> come?

Not all the same a rewind is even possible.

> Second, can you (or anyone else) think of a scenario where these lines
> typically reoccurs frequently, or are we looking at an error, either in
> GStreamer[1] or in PulseAudio?

It is not necessarily an error if these lines appear. For example if
the client does not provide data to PA when the buffer actually runs
empty but based on its own client side timing.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4



More information about the pulseaudio-discuss mailing list