volume: make the orc usage for float conditional again
authorStefan Kost <ensonic@users.sf.net>
Thu, 26 Aug 2010 12:17:20 +0000 (15:17 +0300)
committerStefan Kost <ensonic@users.sf.net>
Thu, 26 Aug 2010 12:19:00 +0000 (15:19 +0300)
See bug #628009. The tests still fail in the orc code (which we just don't call
now).

gst/volume/gstvolume.c

index 269f712..dbe826a 100644 (file)
@@ -535,8 +535,17 @@ volume_process_float (GstVolume * self, gpointer bytes, guint n_bytes)
 {
   gfloat *data = (gfloat *) bytes;
   guint num_samples = n_bytes / sizeof (gfloat);
+#ifndef broken
+  int i;
+
+  gdouble vol = self->current_volume;
 
+  for (i = 0; i < num_samples; i++) {
+    data[i] *= vol;
+  }
+#else
   orc_scalarmultiply_f32_ns (data, data, self->current_volume, num_samples);
+#endif
 }
 
 static void