gst/audioconvert/audioconvert.c: correctly clip float samples > 1.0. Fixes #338718
authorWim Taymans <wim.taymans@gmail.com>
Fri, 28 Apr 2006 14:12:28 +0000 (14:12 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 28 Apr 2006 14:12:28 +0000 (14:12 +0000)
Original commit message from CVS:
* gst/audioconvert/audioconvert.c: (float):
correctly clip float samples > 1.0. Fixes #338718

ChangeLog
gst/audioconvert/audioconvert.c

index 163def2..c3a376b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-04-28  Wim Taymans  <wim@fluendo.com>
+
+       * gst/audioconvert/audioconvert.c: (float):
+       correctly clip float samples > 1.0. Fixes #338718
+
 2006-04-28  Tim-Philipp Müller  <tim at centricular dot net>
 
        Patch by: Young-Ho Cha  <ganadist at chollian net>
index 7531e69..d689592 100644 (file)
@@ -58,11 +58,11 @@ MAKE_UNPACK_FUNC_NAME (float) (gpointer src, gint32 * dst,
     gint scale, gint count)
 {
   gfloat *p = (gfloat *) src;
-  gfloat temp;
+  gint64 temp;
 
   for (; count; count--) {
-    temp = *p++ * 2147483647.0f + .5;
-    *dst++ = (gint32) CLAMP (temp, G_MININT, G_MAXINT);
+    temp = *p++ * 2147483647.0f;
+    *dst++ = (gint32) CLAMP (temp, G_MININT32, G_MAXINT32);
   }
 }