On Wed, Sep 14, 2011 at 09:37:59AM -0400, Mike Crowe wrote:
Apologies if this is obvious, but how does the OSS emulation layer set hardware parameters at the codec level?
It calls hw_params() repeatedly.
We are working in an embedded environment, and using a custom codec driver. When we access it via the ALSA API, it works fine. We have a bf5xx_wm8990_hw_params() function with configures the critical
Hrm. The WM8990 has been supported in mainline for a considerable time, unless you're using an exceptionally old kernel you really use the driver.
When my OSS application opens it's device and changes the audio rate, I don't see that function getting called. In core/oss/pcm_oss.c, I see the snd_pcm_oss_set_rate() function getting called, but I don't understand how it changes parameters in the codec. My bf5xx_wm8990_hw_params() never gets called.
It should go through the ASoC core; it's possible that you've not hooked things up properly there.