Jan Zerebecki wrote:
On Mon, Sep 18, 2006 at 01:54:26AM -0400, Aaron Slunt wrote:
Jan, could you please clarify what you mean by an fd-based method? Thanks.

On http://alsa-project.org/alsa-doc/alsa-lib/pcm.html search for the
headline "Event waiting routines". That is what I meant with fd-based
method. Below that is "Asynchronous notification" and it describes what
we currently use in winealsa.


Jan


I don't think asynchronous notification works at all well.
There are several polling methods that can be used.
1) block on poll
Used in jackd and generally considered the best method currently. It is often called the "callback" method where one has a thread block on the poll, and then call the "callback" function when triggered. jackd expands on this idea letting multiple different applications "callback" functions be called per trigger event.

2) let the audio buffer free wheel and use a timer to periodically fill/drain the buffers. (what ex windows apps/games tend to do. E.g. Doom3.)

The current asynchronous method uses signals and as a result does not tend to work at all well.

James



Reply via email to