On Wed, 27 Nov 2002, Paul Davis wrote: > i see this as more promising than the approach i think you are > thinking of. you can't avoid the context switching - they *have* to > happen so that the apps can run!! the question is *when* does it > happen ... in JACK, they are initiated in a chain when the interface > interrupts us. in the mserver model and/or the shared mmap'ed buffer > approach, they just have to happen sometime between interrupts > (otherwise the buffers are not handled in time). so there is no > avoiding them, its just a matter of when they happen. the point of > JACK's design is to force sample sync and to minimize latency - always > generating and processing audio as close to when it is handled by the > hardware as possible (hence the default 2 period setting). a model > that allows the context switching to occur "sometime" between > interrupts is more relaxed, but loses sample sync and slightly
Note that "sometime" means in same time as jack invokes the clients. The r/w applications blocks at the r/w or poll point, so they will be activated when the condition for the ring buffer is matched. Thus for 2 periods - conditions are same as for jack. Anyway, as Kai stated, we are reaching a consensus that both ways are useful for some cases. Jaroslav ----- Jaroslav Kysela <[EMAIL PROTECTED]> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.net email is sponsored by: Get the new Palm Tungsten T handheld. Power & Color in a compact size! http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel