[alsa-devel] Disabling buffer fill level preprocessing by ALSA

Lennart Poettering mznyfn at 0pointer.de
Mon Dec 31 18:12:27 CET 2007


In PulseAudio I want to schedule on my own when I need to write audio
data into the device and when not. To achieve that I want to be
notified via poll() whenever a period boundary is passed (i.e. when an
IRQ happens), but only then. That's different from the usual mode
where you are notified via poll() whether there is space in the
playback buffer that needs to be filled up. 

On OSS the mmap() mode enables a mode like I described above. After
enabling mmap() the application can decide by itself what it considers
full and what empty in the dma buffer, and use GETOPTR to query the
playback position. poll() on the OSS fd will directly reflect the
sound card IRQs and is not influenced if you ever wrote data to device
or not.

I assume that I can enable a mode like that with one of the SW
params. But quite frankly the docs for it are not enlighening at all.


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

More information about the Alsa-devel mailing list