[SCM] volti/master: Fix crash when the audio card has no mixers.

alessio at users.alioth.debian.org alessio at users.alioth.debian.org
Mon May 21 19:11:03 UTC 2012


The following commit has been merged in the master branch:
commit 2ceb9edd2257cfc7c0002390a7560b15c22d805d
Author: Alessio Treglia <alessio at debian.org>
Date:   Mon May 21 21:06:25 2012 +0200

    Fix crash when the audio card has no mixers.
    
    Closes: #673858

diff --git a/debian/patches/0001-cards_without_mixer.patch b/debian/patches/0001-cards_without_mixer.patch
new file mode 100644
index 0000000..92709bc
--- /dev/null
+++ b/debian/patches/0001-cards_without_mixer.patch
@@ -0,0 +1,41 @@
+Description: Fix crash when the audio card has no mixers.
+Origin: upstream
+Bug: https://code.google.com/p/volti/issues/detail?id=27
+Bug-Debian: http://bugs.debian.org/673858
+---
+ src/alsactrl.py |    7 ++++++-
+ src/mixer.py    |    7 ++++++-
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+--- volti.orig/src/alsactrl.py
++++ volti/src/alsactrl.py
+@@ -189,7 +189,12 @@ class AlsaControl():
+     def get_mixers(self, card_index=0):
+         """ Returns mixers list """
+         mixers = []
+-        for mixer in alsa.mixers(card_index):
++        amixers = []
++        try:
++            amixers = alsa.mixers(card_index)
++        except alsa.ALSAAudioError:
++            pass
++        for mixer in amixers:
+             try:
+                 m = alsa.Mixer(control=mixer, cardindex=card_index)
+                 cap = m.volumecap()
+--- volti.orig/src/mixer.py
++++ volti/src/mixer.py
+@@ -139,7 +139,12 @@ class Mixer(gtk.Window):
+                         self.cp.get("card-%d" % card_index, "mask_control"))
+             except:
+                 self.control_mask[card_index] = 0
+-                for count, mixer in enumerate(alsa.mixers(card_index)):
++                amixers = []
++                try:
++                    amixers = alsa.mixes(card_index)
++                except alsa.ALSAAudioError:
++                    pass
++                for count, mixer in enumerate(amixers):
+                     self.control_mask[card_index] |= (1 << count)
+ 
+             n = 0
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..2843b47
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-cards_without_mixer.patch

-- 
volti packaging



More information about the pkg-multimedia-commits mailing list