alsa-lib: use get32_labels for multi-source
authorWang Zidan <b50113@freescale.com>
Mon, 4 Aug 2014 03:21:12 +0000 (11:21 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 6 Aug 2014 09:03:20 +0000 (10:03 +0100)
commitca11ef871d1e05902b010fd3073c7503c073b570
treeb922ae558c49250d43f4efe240d13b3a08499410
parent370a99ad71f63fe0f708b388edcb3bbf52c1ba9b
alsa-lib: use get32_labels for multi-source

The PCM route plugin can assign the destination value from average of
multiple sources with attenuation. This requires the read of each
channel value, sums and writes the resultant value in the requested
format.

get_labels gives the value as is only with endianness and signedness
conversions, but put32_labels assumes that the value is normalized to
32bit int and it shifts down to the dest format. In addition, the
current code lacks get_labels entries for the 24bit formats.

For fixing these bugs, this patch replaces the read with get32_labels
and use always 64bit int for sum.

(From OE-Core rev: aef6f71e68c3ef1d662cda237d85307142a997be)

Signed-off-by: Wang Zidan <b50113@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-multimedia/alsa/alsa-lib/0001-pcm-route-Use-get32-for-multi-source-route-calculati.patch [new file with mode: 0755]
meta/recipes-multimedia/alsa/alsa-lib_1.0.27.2.bb