[alsa-devel] Different codecs for playback and capture?
Ricard Wanderlof
ricard.wanderlof at axis.com
Thu Jun 4 13:46:51 CEST 2015
On Wed, 3 Jun 2015, Lars-Peter Clausen wrote:
> There has been support for multiple CODECs on the same DAI link for a while
> now. Have a look at
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=88bd870f02dff5c9445286e185f21873f25a977f.
>
> Instead of setting the codec_name/codec_dai_name fields in the dai_link
> create a snd_soc_link_component array with a entry for each of the CODECs
> and assign that to the codecs field in the DAI link.
>
> I'm not too sure how well it works if one CODEC is playback only and the
> other is capture only and there might be some issues. But this is the way to
> go and if there are problems fix them.
It doesn't seem as if snd_soc_dai_link_component is used in any (in-tree)
driver; a grep in sound/soc just returns soc-core.c . Perhaps some
out-of-tree driver has been used to test it?
How are the different component codecs accessed when accessing the device?
Or does this happen automatically? For instance, normally I would register
one card with the single dai and coec, which would come up as #0, so I
could access the resulting device with hw:0,0 . But when I have two codecs
on the same dai_link, what mechanism does ALSA use to differentiate
between the two? Or is it supposed to happen automatically depending on
the capabilities of the respective codecs.
/Ricard
--
Ricard Wolf Wanderlöf ricardw(at)axis.com
Axis Communications AB, Lund, Sweden www.axis.com
Phone +46 46 272 2016 Fax +46 46 13 61 30
More information about the Alsa-devel
mailing list