alsa-lib/src
Takashi Iwai fd84adc63e pcm: route: Use get32 for multi-source route calculation
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.

Currently, get_labels is used for reading source values while
put32_labels is used for writing the dest value.  This is, however,
a buggy implementation; 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, as Shengjiu Wang spotted out.

For fixing these bugs, this patch replaces the read with
get32_labels and use always 64bit int for sum.  This simplifies the
code a lot and drops many lines.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-07-22 14:06:12 +02:00
..
alisp autotools: update style 2014-02-26 08:16:22 +01:00
conf USB-Audio: Add second S/PDIF device on Phiree U2 2014-07-08 12:36:03 +02:00
control autotools: update style 2014-02-26 08:16:22 +01:00
hwdep autotools: update style 2014-02-26 08:16:22 +01:00
mixer autotools: update style 2014-02-26 08:16:22 +01:00
pcm pcm: route: Use get32 for multi-source route calculation 2014-07-22 14:06:12 +02:00
rawmidi autotools: update style 2014-02-26 08:16:22 +01:00
seq autotools: update style 2014-02-26 08:16:22 +01:00
timer autotools: update style 2014-02-26 08:16:22 +01:00
ucm autotools: update style 2014-02-26 08:16:22 +01:00
async.c Make some static tables and strings constants. 2008-11-21 13:04:41 +01:00
conf.c conf.c: use portable way to initialize recursive mutex 2013-11-08 14:55:58 +01:00
confmisc.c Allow specifying the max number of cards 2013-05-24 17:21:15 +02:00
dlmisc.c Compile in the ALSA search path instead of relying on ld.so.conf. 2013-05-16 10:13:28 +02:00
error.c all places: doxygen cleanups 2013-04-08 16:42:24 +02:00
input.c Make all the remaining ops structure constants. 2008-11-21 20:48:33 +01:00
Makefile.am autotools: update style 2014-02-26 08:16:22 +01:00
names.c Remove docs for snd_names_list and snd_names_list_free 2012-01-19 12:35:20 +01:00
output.c fix doc errors 2009-08-04 09:17:20 +02:00
shmarea.c Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:24:55 +02:00
socket.c Move snd_is_local() to socket.c 2005-11-30 11:31:18 +00:00
userfile.c Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:24:55 +02:00
Versions.in Fix wrong exported functions 2008-02-04 14:15:44 +01:00