diff options
author | Jaroslav Kysela <perex@perex.cz> | 2022-08-18 11:23:42 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2022-08-18 11:23:45 +0200 |
commit | 0222f45d11e8b71bf651b985b00fdb0addbf3eed (patch) | |
tree | b6649384b55e31556c455531d2e4286c7ae8466c | |
parent | 8033ff9996b7f04531f1e161bcf6af7673346669 (diff) | |
download | alsa-lib-0222f45d11e8b71bf651b985b00fdb0addbf3eed.tar.gz |
pcm: hw_params - copy periods and buffer_time to the local variable
It is expected to return the correct numbers for get_periods and
get_buffer_time requests. Copy the appropriate fields in the
hw_params call.
Fixes: https://github.com/alsa-project/alsa-lib/issues/258
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r-- | src/pcm/pcm_params.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/pcm/pcm_params.c b/src/pcm/pcm_params.c index ceb3b1aa..8140c061 100644 --- a/src/pcm/pcm_params.c +++ b/src/pcm/pcm_params.c @@ -2407,6 +2407,8 @@ int _snd_pcm_hw_params_internal(snd_pcm_t *pcm, snd_pcm_hw_params_t *params) INTERNAL(snd_pcm_hw_params_get_subformat)(params, &pcm->subformat); INTERNAL(snd_pcm_hw_params_get_channels)(params, &pcm->channels); INTERNAL(snd_pcm_hw_params_get_rate)(params, &pcm->rate, 0); + snd_interval_copy(&pcm->periods, ¶ms->intervals[SND_PCM_HW_PARAM_PERIODS - SND_PCM_HW_PARAM_FIRST_INTERVAL]); + snd_interval_copy(&pcm->buffer_time, ¶ms->intervals[SND_PCM_HW_PARAM_BUFFER_TIME - SND_PCM_HW_PARAM_FIRST_INTERVAL]); INTERNAL(snd_pcm_hw_params_get_period_time)(params, &pcm->period_time, 0); INTERNAL(snd_pcm_hw_params_get_period_size)(params, &pcm->period_size, 0); INTERNAL(snd_pcm_hw_params_get_buffer_size)(params, &pcm->buffer_size); |