[alsa-devel] How to handle stream rates if CPU supports many channels ?

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Wed Jun 7 01:41:14 CEST 2017


Hi Sakamoto-san

> > Here, I'm not yet 100% understanding about these value.
> > I think, above are constraints of whole driver (= it supports both 2ch, 8ch).
> 
> It's not my intension. I don't know exactly where you implement
> 'struct snd_soc_pcm_stream' data in your driver. Perhaps as a part of
> 'struct snd_soc_dai_driver' data.

OK, thank you for your help
I will investigate it.

> > About rate_min/max and rates.
> > is this "rate_min" 48000 (= maximum rate of min case = 8ch) ?? not 8000 ?
> > (For example, if 2ch supports 8000-192000, 8ch supports 8000-48000)
> >
> > And is .rates "SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_192000" ?
> > not SNDRV_PCM_RATE_8000_192000 ?
> 
> In my code snippets, I assumed that the hardware supports just two
> modes; 8ch/48.0kHz and 2ch/192.0kHz. You can expand the snippets as
> your case. Even if using SNDRV_PCM_RATE_8000_192000, role of the
> 'hw_rule_rate()' and the 'hw_rule_channels()' is invariant. The former
> checks channels parameters and constrains rate parameter with valid
> interval. The latter checks and constraints vice versa with valid
> list.

Sorry for my un-understandable example.
Thank you for your detail explanation, it is very helpful for me.
I will invariant and try to implement this feature

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list