diff options
author | Max Kellermann <max@duempel.org> | 2013-12-02 11:45:03 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-12-02 11:48:10 +0100 |
commit | c6ef0e88879d2cd203a74cfda2a574e949486877 (patch) | |
tree | 8c20019846a355f23c3a6bf9d7c0e48e1fdb5ea3 /src/pcm/PcmChannels.cxx | |
parent | f761d583b579e4bdfe3013b52a46a76a8f31abf8 (diff) | |
download | mpd-c6ef0e88879d2cd203a74cfda2a574e949486877.tar.gz mpd-c6ef0e88879d2cd203a74cfda2a574e949486877.tar.xz mpd-c6ef0e88879d2cd203a74cfda2a574e949486877.zip |
pcm/Traits: add typedef "sum_type"
Allow 32 bit platforms to use 32 bit instead of 64 bit for summing 24
bit samples.
Diffstat (limited to 'src/pcm/PcmChannels.cxx')
-rw-r--r-- | src/pcm/PcmChannels.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/pcm/PcmChannels.cxx b/src/pcm/PcmChannels.cxx index b90e48580..2e433e611 100644 --- a/src/pcm/PcmChannels.cxx +++ b/src/pcm/PcmChannels.cxx @@ -44,8 +44,8 @@ static typename Traits::value_type StereoToMono(typename Traits::value_type _a, typename Traits::value_type _b) { - typename Traits::long_type a(_a); - typename Traits::long_type b(_b); + typename Traits::sum_type a(_a); + typename Traits::sum_type b(_b); return typename Traits::value_type((a + b) / 2); } @@ -76,7 +76,7 @@ NToStereo(typename Traits::pointer_type dest, assert((end - src) % src_channels == 0); while (src != end) { - typename Traits::long_type sum = *src++; + typename Traits::sum_type sum = *src++; for (unsigned c = 1; c < src_channels; ++c) sum += *src++; @@ -101,7 +101,7 @@ NToM(typename Traits::pointer_type dest, assert((end - src) % src_channels == 0); while (src != end) { - typename Traits::long_type sum = *src++; + typename Traits::sum_type sum = *src++; for (unsigned c = 1; c < src_channels; ++c) sum += *src++; |