diff options
Diffstat (limited to 'src/pcm')
-rw-r--r-- | src/pcm/PcmFormat.cxx | 6 |
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); } } |