summaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2005-04-12 17:33:59 +0200
committerJaroslav Kysela <perex@suse.cz>2005-05-29 10:00:42 +0200
commit004e65389714721ce0f52a8f0fc22999d3908a2a (patch)
tree73e154312778436accf56f1325b0891db9699e6a /sound/core
parentbd7bf042e89941d4e693a0ec68c5093a2bb2adb3 (diff)
downloadlinux-stable-004e65389714721ce0f52a8f0fc22999d3908a2a.tar.gz
linux-stable-004e65389714721ce0f52a8f0fc22999d3908a2a.tar.bz2
linux-stable-004e65389714721ce0f52a8f0fc22999d3908a2a.zip
[ALSA] Fix capture on OSS emulation
ALSA<-OSS emulation Fix the noisy capture on some hardwares over OSS emulation. Change back to avail_min = period_size for capture direction. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/oss/pcm_oss.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c
index 1a805020f57a..6c8fdcaf9f4f 100644
--- a/sound/core/oss/pcm_oss.c
+++ b/sound/core/oss/pcm_oss.c
@@ -464,7 +464,8 @@ static int snd_pcm_oss_change_params(snd_pcm_substream_t *substream)
sw_params->tstamp_mode = SNDRV_PCM_TSTAMP_NONE;
sw_params->period_step = 1;
sw_params->sleep_min = 0;
- sw_params->avail_min = 1;
+ sw_params->avail_min = substream->stream == SNDRV_PCM_STREAM_PLAYBACK ?
+ 1 : runtime->period_size;
sw_params->xfer_align = 1;
if (atomic_read(&runtime->mmap_count) ||
(substream->oss.setup && substream->oss.setup->nosilence)) {