On Tue, 2020-08-25 at 17:57 -0500, Pierre-Louis Bossart wrote:
Hi, we have a rather odd issue [1] with mixer/formats, where somehow an error is thrown by firmware when we play an S24/32_LE PCM stream through a mixer and into a DAI configured in S16_LE (because of codec restrictions)
I could use feedback on the following points:
a) was it really a design decision to assume that all sources to the mixer share the same format?
Yes. Mixer only mixes same format today, however the PCM converter can be invoked here on the pipeline (but I dont think the mixer does this today).
b) if yes, how is the format for a mixer defined? We typically convert using volume elements, but somehow a mixer would need to be set-up with a predefined format (i.e. not propagated by hw_params()) if we want the volume elements to know when/what to convert. I see in my experiments that the format for the mixer sources and sinks seems to be changed dynamically, which doesn't seem quite right to me.
It could be the PCM converter being invoked by host or dai component depending on which PCM is opened in which order etc ?.
c) if no, same question "how is the format of the mixer defined"? we would need to have the ability to set a format for the mixer so that it can convert on the fly, but we don't seem to set formats anywhere except for PCM streams and DAIs.
Liam
Thanks, -Pierre
[1] https://github.com/thesofproject/sof/pull/3341 _______________________________________________ Sound-open-firmware mailing list Sound-open-firmware@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/sound-open-firmware