[gst-cvs] gst-plugins-base: volume: Revert rounding behaviour changes when using controlled volume properties
Sebastian Dröge
slomo at kemper.freedesktop.org
Fri Mar 12 06:49:22 PST 2010
Module: gst-plugins-base
Branch: master
Commit: 944d6b1786f64b84947b7b71b858653c6acc0fd7
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=944d6b1786f64b84947b7b71b858653c6acc0fd7
Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date: Fri Mar 12 15:47:40 2010 +0100
volume: Revert rounding behaviour changes when using controlled volume properties
Now the controlled and non-controlled code paths are all having
exactly the same rounding behaviour and the unit tests pass again.
---
gst/volume/gstvolume.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/gst/volume/gstvolume.c b/gst/volume/gstvolume.c
index 5f442d4..2cf2427 100644
--- a/gst/volume/gstvolume.c
+++ b/gst/volume/gstvolume.c
@@ -610,7 +610,7 @@ volume_process_controlled_int32_clamp (GstVolume * self, gpointer bytes,
for (i = 0; i < num_samples; i++) {
vol = *volume++;
for (j = 0; j < channels; j++) {
- val = *data * vol + 0.5;
+ val = *data * vol;
*data++ = (gint32) CLAMP (val, VOLUME_MIN_INT32, VOLUME_MAX_INT32);
}
}
@@ -694,7 +694,7 @@ volume_process_controlled_int24_clamp (GstVolume * self, gpointer bytes,
for (i = 0; i < num_samples; i++) {
vol = *volume++;
for (j = 0; j < channels; j++) {
- val = get_unaligned_i24 (data) * vol + 0.5;
+ val = get_unaligned_i24 (data) * vol;
val = CLAMP (val, VOLUME_MIN_INT24, VOLUME_MAX_INT24);
write_unaligned_u24 (data, (gint32) val);
}
@@ -753,7 +753,7 @@ volume_process_controlled_int16_clamp (GstVolume * self, gpointer bytes,
for (i = 0; i < num_samples; i++) {
vol = *volume++;
for (j = 0; j < channels; j++) {
- val = *data * vol + 0.5;
+ val = *data * vol;
*data++ = (gint16) CLAMP (val, VOLUME_MIN_INT16, VOLUME_MAX_INT16);
}
}
@@ -806,7 +806,7 @@ volume_process_controlled_int8_clamp (GstVolume * self, gpointer bytes,
for (i = 0; i < num_samples; i++) {
vol = *volume++;
for (j = 0; j < channels; j++) {
- val = *data * vol + 0.5;
+ val = *data * vol;
*data++ = (gint8) CLAMP (val, VOLUME_MIN_INT8, VOLUME_MAX_INT8);
}
}
More information about the Gstreamer-commits
mailing list