mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-12-15 08:56:36 -05:00
fixed xrun problems with rate conversion.
This commit is contained in:
parent
48f6b71f41
commit
0d4df92f80
1 changed files with 3 additions and 1 deletions
|
|
@ -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.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_threshold = muldiv_near(sparams.silence_threshold, slave->rate, pcm->rate);
|
||||||
sparams.silence_size = muldiv_near(sparams.silence_size, 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);
|
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;
|
rate->states[k].sample = 0;
|
||||||
if (rate->func == snd_pcm_rate_expand) {
|
if (rate->func == snd_pcm_rate_expand) {
|
||||||
/* Get a sample on entry */
|
/* Get a sample on entry */
|
||||||
rate->states[k].pos = rate->pitch + DIV;
|
rate->states[k].pos = rate->pitch;
|
||||||
} else {
|
} else {
|
||||||
rate->states[k].pos = 0;
|
rate->states[k].pos = 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue