From c6ef0e88879d2cd203a74cfda2a574e949486877 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 2 Dec 2013 11:45:03 +0100 Subject: pcm/Traits: add typedef "sum_type" Allow 32 bit platforms to use 32 bit instead of 64 bit for summing 24 bit samples. --- src/pcm/PcmChannels.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/pcm/PcmChannels.cxx') 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++; -- cgit v1.2.3