aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm/PcmFormat.cxx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/pcm/PcmFormat.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/pcm/PcmFormat.cxx b/src/pcm/PcmFormat.cxx
index 348437a12..06390249d 100644
--- a/src/pcm/PcmFormat.cxx
+++ b/src/pcm/PcmFormat.cxx
@@ -56,8 +56,10 @@ ConvertFromFloat(typename Traits::pointer_type dest,
const float factor = 1 << (bits - 1);
while (src != end) {
- int sample(*src++ * factor);
- *dest++ = PcmClamp<typename Traits::value_type, int, bits>(sample);
+ typename Traits::long_type sample(*src++ * factor);
+ *dest++ = PcmClamp<typename Traits::value_type,
+ typename Traits::long_type,
+ Traits::BITS>(sample);
}
}