linux/sound/core
Takashi Iwai 9442e691e4 [PATCH] maximum latency tracking: ALSA support
Add maximum latency tracking to the ALSA subsystem for PCM playback.  In
ALSA, the playback application controls the buffer size and thus indirectly
the period of latency that it can deal with.  This patch uses 75% of the
total available latency as threshold to announce to the latency subsystem;
While 75% is a crude heuristic it's a quite reasonable one; the remaining
25% can be used for all driver processing for the next samples which is
also proportional to the size of the buffer.

With ogg123 a latency setting of about 4msec was seen (at 44Khz), while
with the "play" command a much longer maximum tolerable latency was seen.
Other, more multimedia oriented players as well as games, will have a lot
smaller buffers to allow better synchronization and those will actually get
into the latency domains where there is impact on the power management
rules.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-01 00:39:19 -07:00
..
oss [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
seq [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
control.c [ALSA] Return error if no user TLV is defined 2006-09-23 10:44:21 +02:00
control_compat.c [ALSA] Add missing compat ioctls for ALSA control API 2006-09-23 10:47:19 +02:00
device.c [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
hwdep.c [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
hwdep_compat.c [ALSA] Remove xxx_t typedefs: Hwdep 2006-01-03 12:17:38 +01:00
info.c [ALSA] sound core: Use SEEK_{SET,CUR,END} instead of hardcoded values 2006-09-23 10:47:43 +02:00
info_oss.c [ALSA] Fix disconnection of proc interface 2006-09-23 10:36:48 +02:00
init.c [ALSA] Deprecate snd_card_free_in_thread() 2006-09-23 10:37:03 +02:00
isadma.c [ALSA] Clean up EXPORT_SYMBOL()s in snd module 2006-06-22 21:32:52 +02:00
Kconfig [ALSA] make CONFIG_SND_DYNAMIC_MINORS non-experimental 2006-06-28 19:30:54 +02:00
Makefile [ALSA] Remove kmalloc wrappers 2005-11-04 13:18:08 +01:00
memalloc.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
memory.c [ALSA] Clean up EXPORT_SYMBOL()s in snd module 2006-06-22 21:32:52 +02:00
misc.c [ALSA] Clean up EXPORT_SYMBOL()s in snd module 2006-06-22 21:32:52 +02:00
pcm.c [PATCH] maximum latency tracking: ALSA support 2006-10-01 00:39:19 -07:00
pcm_compat.c [ALSA] Fix control/status mmap with shared PCM substream 2006-09-23 10:39:50 +02:00
pcm_lib.c [ALSA] Add O_APPEND flag support to PCM 2006-06-22 21:33:13 +02:00
pcm_memory.c [ALSA] Fix disconnection of proc interface 2006-09-23 10:36:48 +02:00
pcm_misc.c [ALSA] Move OSS-specific hw_params helper to snd-pcm-oss module 2006-06-22 21:33:05 +02:00
pcm_native.c [PATCH] maximum latency tracking: ALSA support 2006-10-01 00:39:19 -07:00
pcm_timer.c [ALSA] Remove xxx_t typedefs: PCM 2006-01-03 12:17:43 +01:00
rawmidi.c [ALSA] Fix substream selection in PCM and rawmidi 2006-09-23 10:39:59 +02:00
rawmidi_compat.c [ALSA] Remove xxx_t typedefs: Raw MIDI 2006-01-03 12:17:35 +01:00
rtctimer.c [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
sgbuf.c [ALSA] Conversions from kmalloc+memset to k(z|c)alloc 2006-08-03 15:21:18 +02:00
sound.c [ALSA] Add pcm_class attribute to PCM sysfs entry 2006-09-23 10:46:32 +02:00
sound_oss.c [ALSA] Fix disconnection of proc interface 2006-09-23 10:36:48 +02:00
timer.c [ALSA] system timer: remove unused snd_timer_system_private.timer field 2006-09-23 10:38:17 +02:00
timer_compat.c [ALSA] Remove xxx_t typedefs: Timer 2006-01-03 12:17:34 +01:00