On Wed, Nov 14, 2018 at 6:52 PM Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> wrote: > > Hi Daniel, > > On 11/14/18 9:35 AM, Daniel Baluta wrote: > > Hello, > > > > soc_compr_set_params_fe calls dpcm_be_dai_hw_params in order to setup > > BE hw_params. > > > > Is there a way to transfer parameters like for example the rate from FE > > to BE? > > > > In soc_compr_set_params_fe there is this code: > > > > * > > * Create an empty hw_params for the BE as the machine driver must > > * fix this up to match DSP decoder and ASRC configuration. > > * I.e. machine driver fixup for compressed BE is mandatory. > > */ > > memset(&fe->dpcm[fe_substream->stream].hw_params, 0, > > sizeof(struct snd_pcm_hw_params)); > > > > So, information about parameters is just ignored. > > > > The only way we can setup hw_params for BE is via > > be_hw_params_fixup() but this function doesn't have any information > > from FE. > > > > My use case is something like this: > > > > FE: > > - cpu: FSL SAI DAI interface > > - platform: DSP > > - codec: dummy codec > > BE: > > - cpu: dummy > > - platform: dummy > > - codec: cs42888. > > > > codec could handle 44100Hz and 48000Hz streams, but the BE doesn't have > > any way to know what is the rate cplay sets to FE. > > I don't think we planned for the case you mention, but IIRC it was > intentional. > > In our implementations and the non-Intel ones I am familiar with, the BE > typically handles data that is mixed between PCM channels (for > tone/alerts/low latency) and decompressed data. So the rate adaptation > of the decoder output is handled inside the DSP and the BE is configured > at a set rate. I also don't remember when was the last time we supported > 44.1 kHz, maybe 2011? > Got your point. I will use (A)SRC to handle the rate conversion. Thanks a lot Pierre! Daniel. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel