diff options
author | Rene Herman <rene.herman@gmail.com> | 2007-03-28 15:23:53 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2007-05-11 16:55:54 +0200 |
commit | b942cf815b5775288550f99f3790e29815bb70cb (patch) | |
tree | 1b7ec7d36b3504139d7b9dd32eb25c56e4d877b3 | |
parent | d3091fad4a4902185c3ce0b77a847ecafcb3f006 (diff) | |
download | op-kernel-dev-b942cf815b5775288550f99f3790e29815bb70cb.zip op-kernel-dev-b942cf815b5775288550f99f3790e29815bb70cb.tar.gz |
[ALSA] es1968 - Fix stuttering capture
Looks like the buffer size for the stereo capture has to be a
power of two. Now added a constraint to buffer bytes.
Also removed unnecessary #if 0 lines.
Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r-- | sound/pci/es1968.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c index dc84c18..2faf009 100644 --- a/sound/pci/es1968.c +++ b/sound/pci/es1968.c @@ -1554,10 +1554,7 @@ static int snd_es1968_playback_open(struct snd_pcm_substream *substream) runtime->hw = snd_es1968_playback; runtime->hw.buffer_bytes_max = runtime->hw.period_bytes_max = calc_available_memory_size(chip); -#if 0 - snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - 1024); -#endif + spin_lock_irq(&chip->substream_lock); list_add(&es->list, &chip->substream_list); spin_unlock_irq(&chip->substream_lock); @@ -1613,10 +1610,8 @@ static int snd_es1968_capture_open(struct snd_pcm_substream *substream) runtime->hw = snd_es1968_capture; runtime->hw.buffer_bytes_max = runtime->hw.period_bytes_max = calc_available_memory_size(chip) - 1024; /* keep MIXBUF size */ -#if 0 - snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - 1024); -#endif + snd_pcm_hw_constraint_pow2(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES); + spin_lock_irq(&chip->substream_lock); list_add(&es->list, &chip->substream_list); spin_unlock_irq(&chip->substream_lock); |