[alsa-devel] How to specify data format if playback/capture were different ?

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Wed May 22 03:12:01 CEST 2013


Hi again

> > > But, ak4554 case, data formats are
> > >  playback : SND_SOC_DAIFMT_RIGHT_J
> > >  capture  : SND_SOC_DAIFMT_LEFT_J
> > > and, it can't exchange this data format.
> > > 
> > > CPU driver should set these information for ak4554 when playback/capture.
> > > 
> > > Then, how to specify these data format on ALSA SoC ?
> > 
> > You can add two different DAIs one for playback one for capture. Then you
> > can specify the format for each.

1 more question.

On ak4554 side driver, I guess, it will be

struct snd_soc_dai_driver ak4554_playback_dai = {
	.name = "ak4554-playback",
	.playback = {
		...
	},
}

struct snd_soc_dai_driver ak4554_captrure_dai = {
	.name = "ak4554-captrure",
	.capture = {
		...
	},
};

But, ak4554 needs .symmetric_rates between playback <--> capture.
Is it possible ?
Or, am I misunderstanding ?

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list