[alsa-devel] alsalib and snd_pcm_hw_params_set_rate_minmax
Takashi Sakamoto
o-takashi at sakamocchi.jp
Thu Mar 15 12:59:46 CET 2018
Hi,
On Mar 15 2018 19:45, Oleksandr Andrushchenko wrote:
> Is it possible for user-space to reduce configuration space
> with snd_pcm_hw_params_set_rate_minmax and then change it
> with another snd_pcm_hw_params_set_rate_minmax with values
> out of the reduced config?
>
> For example, the initial min/max is 44100/48000 and I set 44100
> first, e.g.
>
> snd_pcm_hw_params_set_rate_minmax(handle, hw_params, 44100, 0, 44100, 0)
>
> and then want
>
> snd_pcm_hw_params_set_rate_minmax(handle, hw_params, 48000, 0, 48000, 0)
>
> Obviously, the last call fails as we have already a reduced
> space of [44100; 44100].
>
> Is there a way I can still set the range to [48000; 48000]?
>
> Thank you,
> Oleksandr
>
> P.S. This is in context of work done for [1]
>
> [1] https://www.spinics.net/lists/alsa-devel/msg75382.html
We can't. Once shrinking available interval of a parameter, we cannot
expand it again without initializing the parameter on memory object for
'struct snd_pcm_hw_params_t', in which actual layout is never disclosed
to user applications.
If you can initialize whole the parameters, snd_pcm_hw_params_any() is
available for your purpose, then set min/max rate again. But just for
one of the parameters, in my opinion, we need to open an internal API;
snd_pcm_hw_param_any()[1].
[1]
http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/pcm/pcm_params.c;h=608a2324cb268f84d91f67c53d979521678f4edb;hb=HEAD#l107
Regards
Takashi Sakamoto
More information about the Alsa-devel
mailing list