[alsa-devel] Why is snd_pcm_hw_params_set_format() not setting the format at all?

Philip Chu Philip.Chu at logicpd.com
Mon Jan 3 18:03:05 CET 2011

When I call snd_pcm_hw_params_set_format() to set up a new format, it seems to call following in order and none of them is setting up the format bit?

snd_pcm_hw_params_set_format() -> snd_pcm_hw_param_set() -> _snd_pcm_hw_param_set() -> snd_mask_refine_set() -> snd_mask_single() + snd_mask_leave()

I am using "plughw:0,0" as the device name, and I think it is using pcm_plugin.c for the master and pcm_hw.c for the slave?
If I can use pcm_plug.c, then it should finally call snd_mask_set() from another function snd_pcm_hw_params() with the following call order:

snd_pcm_hw_params -> _snd_pcm_hw_params -> pcm->ops->hw_params() which is snd_pcm_plug_hw_params() -> snd_pcm_plug_hw_refine_schange -> snd_pcm_format_mask_set -> snd_mask_set 

In order to use pcm_plug.c, how do I setup the device name? 


More information about the Alsa-devel mailing list