What is the semantics of snd_pcm_hw_params_any?
alsa-project/alsa-lib issue #119 was opened from jpalus:
It is not really a bug report but rather a request for clarification in attempt to figure out who is to blame for incorrect pulseaudio behavior.
I've got two different cards -- one internal and one USB -- which behave quite differently for this simple high level code: ``` snd_pcm_open() snd_pcm_hw_params_any() iterate snd_pcm_hw_params_test_rate() to check for supported rates snd_pcm_hw_params_set_rate_near(44100) snd_pcm_hw_params() snd_pcm_hw_params_any() iterate snd_pcm_hw_params_test_rate() to check for supported rates ```
In essence supported sample rates are queried twice, always with snd_pcm_hw_params_any() before them, but separated by snd_pcm_hw_params_set_rate_near().
Now with internal card both iterations report 7 supported rates while for USB first iteration reports 4 rates and second only one (44100). Is that expected or is snd_pcm_hw_params_any() supposed to provide configuration which would result in all rates reported again?
Issue URL : https://github.com/alsa-project/alsa-lib/issues/119 Repository URL: https://github.com/alsa-project/alsa-lib
participants (1)
-
GitHub issues - opened