audio.c converted from WaitForSingleObject to poll

eric pouech eric.pouech at
Wed Oct 31 14:10:52 CST 2001

> The Mux takes all inputs and multiplexes them into the
> circular buffer. It blocks when the buffer is full. In
> the case of wine, I would guess the Mux isn't really
> needed, just some function that writes into the
> circular buffer, blocking if its full.
no the Win32 API doesn't behave like this. queueing a 
buffer for playback is supposed to be non blocking so
we shouldn't limit the size of the buffer

> Also the buffer size is a multiple of the fragment
> size of the output device. For OSS the output buffer
> is split into fragments, for SBLive 16 fragments of 4K
> each.
again, the Win32 API doesn't put any constraints on the
size of input buffers, so we need to do the split in 
order to fill the OSS fragments

Eric Pouech (
"The future will be better tomorrow", Vice President Dan Quayle

More information about the wine-devel mailing list