From: Jaroslav Kysela Date: Fri, 23 Nov 2001 11:47:01 +0000 (+0000) Subject: Added hack for rate to avoid overflow in other code X-Git-Tag: v1.0.3~586 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=25978dbfa92486175de7e0c9f9b4ffda716f3334;p=alsa-lib.git Added hack for rate to avoid overflow in other code --- diff --git a/src/pcm/pcm_plug.c b/src/pcm/pcm_plug.c index db002222..b9545151 100644 --- a/src/pcm/pcm_plug.c +++ b/src/pcm/pcm_plug.c @@ -504,11 +504,18 @@ static int snd_pcm_plug_hw_refine_schange(snd_pcm_t *pcm, snd_pcm_hw_params_t *p snd_pcm_format_t format; snd_interval_t t, buffer_size; const snd_interval_t *srate, *crate; + unsigned int srate_min; if (plug->srate == -2) links |= SND_PCM_HW_PARBIT_RATE; - else + else { snd_pcm_hw_param_refine_near(slave, sparams, SND_PCM_HW_PARAM_RATE, params); + /* HACK: to avoid overflow in PARTBIT_RATE code */ + srate_min = snd_pcm_hw_param_get_min(sparams, SND_PCM_HW_PARAM_RATE, NULL); + if (srate_min < 4000) + _snd_pcm_hw_param_set_min(sparams, SND_PCM_HW_PARAM_RATE, srate_min, 1); + } + if (plug->schannels == -2) links |= SND_PCM_HW_PARBIT_CHANNELS; else