On Fri, 13 Jun 2008, Takashi Iwai wrote:
The point is that the wake-up timing isn't defined as constant but via a timing queue (or a request queue). This is more suitable for pull-style apps like JACK. Which irq source is used doesn't matter.
But applications can use timers or any other wakeup source directly (for example from video card interrupt) - thus I'm not sure if it's good to complicate our API, again. If we remove period tied I/O operations and assumptions in alsa-lib (thus we will do only byte-stream transfers), then everything will be fine and possible.
Other option is to create such timing queues separately as complete new API without integration to PCM API. Complex apps call poll() anyway. Support this complex timing for read()/write() for simple apps does not make much sense, I think.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.