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

Reply via email to