At Mon, 24 Feb 2014 21:52:56 +0100, Maarten Baert wrote:
On 24/02/14 14:37, Takashi Iwai wrote:
Looking at the code again, the PCM rate plugin version checks are done slightly differently from ext-plugin or io-plugin; it's rather done in the plugin side. pcm_rate.c repeats to trying to hook a plugin until it matches by degrading the version. In the plugin side, it provides additional ops depending on the version it's asked.
That complicates things a lot. Currently the format conversion is decided before the rate conversion is done. If not all rate conversion plugins support float, then the format conversion plugin needs to know this ahead of time to make the right decision. Or the plugin insertion code needs to be changed so the plugins aren't created in a fixed order. They are currently created back-to-front, it would probably make more sense to choose a rate conversion and channel remapping plugin first, and then insert format conversions where needed.
Yeah, this might work better.
Re-submitting my original patch as requested.
It's not applicable via git am. Please resubmit with the right format (that is cleanly applied via git am).
thanks,
Takashi