Updating branch refs/heads/master
to ffa0271f280f7234d7ab1250f8ce9484390ef302 (commit)
from 998fcc86d0358b32f2a529e13569d76d72fea959 (commit)
commit ffa0271f280f7234d7ab1250f8ce9484390ef302
Author: Steve Dodier <[email protected]>
Date: Thu Nov 18 16:42:10 2010 +0100
Prevent possible SIGFPE if a track has a 0 volume range
ChangeLog | 3 +++
src/xvd_mixer.c | 9 ++++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b86387b..8dcb950 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
2010-11-18 Steve Dodier <[email protected]>
+ * Add a value check incase a GStreamer track has a volume range of 0
(fixes lp #624520)
+
+2010-11-18 Steve Dodier <[email protected]>
* Fix xfce4-volumed.desktop's exec argument (fixes lp #538407)
2010-11-02 Steve Dodier <[email protected]>
diff --git a/src/xvd_mixer.c b/src/xvd_mixer.c
index 5c04d9d..1cb7977 100644
--- a/src/xvd_mixer.c
+++ b/src/xvd_mixer.c
@@ -356,10 +356,13 @@ xvd_calculate_avg_volume(XvdInstance *Inst,
gint num_channels)
{
if (Inst->track) {
- gint i, s=0;
+ gint i, s=0, step;
for (i=0; i<num_channels; i++) {
- s += ((volumes[i] - Inst->track->min_volume) * 100 /
- (Inst->track->max_volume -
Inst->track->min_volume));
+ step=Inst->track->max_volume - Inst->track->min_volume;
+ if (!step)
+ ++step;
+
+ s += ((volumes[i] - Inst->track->min_volume) * 100 /
step);
}
Inst->current_vol = s/num_channels;
}
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits