From: Takashi Iwai Date: Mon, 11 Mar 2002 12:49:57 +0000 (+0000) Subject: fixed xrun problems with rate conversion. X-Git-Tag: v1.0.3~462 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=0d4df92f80be9ec070f68f867a5308d9a1efd3a1;p=alsa-lib.git fixed xrun problems with rate conversion. --- diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c index 48fe064b..f1f55324 100644 --- a/src/pcm/pcm_rate.c +++ b/src/pcm/pcm_rate.c @@ -397,6 +397,8 @@ static int snd_pcm_rate_sw_params(snd_pcm_t *pcm, snd_pcm_sw_params_t * params) sparams.xfer_align = muldiv_near(sparams.xfer_align, slave->rate, pcm->rate); sparams.silence_threshold = muldiv_near(sparams.silence_threshold, slave->rate, pcm->rate); sparams.silence_size = muldiv_near(sparams.silence_size, slave->rate, pcm->rate); + sparams.start_threshold = muldiv_near(sparams.start_threshold, slave->rate, pcm->rate); + sparams.stop_threshold = muldiv_near(sparams.stop_threshold, slave->rate, pcm->rate); return snd_pcm_sw_params(slave, &sparams); } @@ -409,7 +411,7 @@ static int snd_pcm_rate_init(snd_pcm_t *pcm) rate->states[k].sample = 0; if (rate->func == snd_pcm_rate_expand) { /* Get a sample on entry */ - rate->states[k].pos = rate->pitch + DIV; + rate->states[k].pos = rate->pitch; } else { rate->states[k].pos = 0; }