gst/audioconvert/audioconvert.c: More correct float->int conversion.
authorMichael Smith <msmith@xiph.org>
Fri, 2 Jun 2006 14:19:18 +0000 (14:19 +0000)
committerMichael Smith <msmith@xiph.org>
Fri, 2 Jun 2006 14:19:18 +0000 (14:19 +0000)
Original commit message from CVS:
* gst/audioconvert/audioconvert.c: (float):
More correct float->int conversion.

ChangeLog
gst/audioconvert/audioconvert.c

index cbac714..55e5742 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2006-06-02  Michael Smith  <msmith@fluendo.com>
 
+       * gst/audioconvert/audioconvert.c: (float):
+         More correct float->int conversion.
+
+2006-06-02  Michael Smith  <msmith@fluendo.com>
+
        * ext/ogg/gstoggdemux.c: (gst_ogg_demux_perform_seek):
          Don't accidently send GST_CLOCK_TIME_NONE as a new segment start
          value. Fixes g-critical on trying to play back ogg containing
index d689592..5a78ca5 100644 (file)
@@ -58,10 +58,10 @@ MAKE_UNPACK_FUNC_NAME (float) (gpointer src, gint32 * dst,
     gint scale, gint count)
 {
   gfloat *p = (gfloat *) src;
-  gint64 temp;
+  gdouble temp;
 
   for (; count; count--) {
-    temp = *p++ * 2147483647.0f;
+    temp = (*p++ * 2147483647.0) + 0.5;
     *dst++ = (gint32) CLAMP (temp, G_MININT32, G_MAXINT32);
   }
 }