[alsa-devel] [PATCH] Bugfix: Fix resampling when client and slave both use format float

Maarten Baert maarten-baert at hotmail.com
Mon Feb 24 21:52:56 CET 2014

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.

Re-submitting my original patch as requested.

Maarten Baert

-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-float-resampling.patch
Type: text/x-patch
Size: 1211 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20140224/0c0f833d/attachment.bin>

More information about the Alsa-devel mailing list