[alsa-devel] Question about your DSP topic branch - hw param fix up query

Liam Girdwood lrg at slimlogic.co.uk
Thu Mar 31 23:35:31 CEST 2011


On Thu, 2011-03-31 at 10:45 -0700, Patrick Lai wrote:
> Change subject
> 
> > static int dmic_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
> > 			struct snd_pcm_hw_params *params)
> > {
> > 	struct snd_interval *rate = hw_param_interval(params,
> > 			SNDRV_PCM_HW_PARAM_RATE);
> >
> > 	/* The ABE will covert the FE rate to 96k */
> > 	rate->min = rate->max = 96000;
> >
> > 	snd_mask_set(&params->masks[SNDRV_PCM_HW_PARAM_FORMAT -
> > 	                            SNDRV_PCM_HW_PARAM_FIRST_MASK],
> > 	                            SNDRV_PCM_FORMAT_S32_LE);
> > 	return 0;
> > }
> Liam,
> 
> For sample rate conversion case, supplying back-end hw_params_fixup 
> function would work. However, I am looking for run-time configuration of 
> back-end channel mode. For scenario of multi-channel microphone input, I 
> need to have a mean to specify channel mode of back-end depending on 
> algorithm running on DSP while front-end channel mode is mono. Is there 
> a hook in the framework to do that?
> 

Not atm, but it does sound like we need to add such a hook.

I'll add this to the conference agenda.

Thanks

Liam



More information about the Alsa-devel mailing list