mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-31 22:25:35 -04:00
Fixed the period size setup for hardware with fixed values
This commit is contained in:
parent
87b5b249a5
commit
ef035eacfe
1 changed files with 8 additions and 4 deletions
|
|
@ -218,14 +218,18 @@ int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, int *bufsize)
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
size = snd_pcm_hw_params_get_buffer_size(p_params) / 2;
|
size = snd_pcm_hw_params_get_period_size(p_params, NULL);
|
||||||
if (size > *bufsize)
|
if (size > *bufsize)
|
||||||
*bufsize = size;
|
*bufsize = size;
|
||||||
size = snd_pcm_hw_params_get_buffer_size(c_params) / 2;
|
size = snd_pcm_hw_params_get_period_size(c_params, NULL);
|
||||||
if (size > *bufsize)
|
if (size > *bufsize)
|
||||||
*bufsize = size;
|
*bufsize = size;
|
||||||
if (snd_pcm_hw_params_get_buffer_size(p_params) !=
|
if (snd_pcm_hw_params_get_period_time(p_params, NULL) !=
|
||||||
snd_pcm_hw_params_get_buffer_size(c_params))
|
snd_pcm_hw_params_get_period_time(c_params, NULL))
|
||||||
|
goto __again;
|
||||||
|
if (snd_pcm_hw_params_get_period_size(p_params, NULL) * 2 < snd_pcm_hw_params_get_buffer_size(p_params))
|
||||||
|
goto __again;
|
||||||
|
if (snd_pcm_hw_params_get_period_size(c_params, NULL) * 2 < snd_pcm_hw_params_get_buffer_size(c_params))
|
||||||
goto __again;
|
goto __again;
|
||||||
|
|
||||||
if ((err = setparams_set(phandle, p_params, p_swparams, "playback")) < 0) {
|
if ((err = setparams_set(phandle, p_params, p_swparams, "playback")) < 0) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue