1a83ec0
diff -Nur audacious-plugins-fedora-1.5.1-alsa-ng/src/alsa/alsa-core.c audacious-plugins-fedora-1.5.1-alsa-ng-mixer/src/alsa/alsa-core.c
1a83ec0
--- audacious-plugins-fedora-1.5.1-alsa-ng/src/alsa/alsa-core.c	2009-09-19 12:46:20.000000000 +0200
1a83ec0
+++ audacious-plugins-fedora-1.5.1-alsa-ng-mixer/src/alsa/alsa-core.c	2009-09-19 12:54:29.476615457 +0200
e454a13
@@ -45,6 +45,7 @@
e454a13
 
e454a13
 static snd_mixer_t *amixer = NULL;
e454a13
 static gboolean mixer_ready = FALSE;
e454a13
+static gint mixer_left, mixer_right;
e454a13
 
e454a13
 static snd_mixer_elem_t *
e454a13
 alsaplug_get_mixer_elem_by_name(snd_mixer_t *mixer, gchar *name)
9f890fb
@@ -75,6 +76,8 @@
9f890fb
     gint i;
9f890fb
     snd_mixer_elem_t *elem;
9f890fb
 
9f890fb
+    if (!mixer_ready)
9f890fb
+        return NULL;
9f890fb
     if (alsaplug_cfg.mixer_device != NULL)
9f890fb
         return alsaplug_get_mixer_elem_by_name(mixer, alsaplug_cfg.mixer_device);
9f890fb
 
9f890fb
@@ -140,6 +143,8 @@
e454a13
 {
e454a13
     snd_mixer_elem_t *elem = alsaplug_guess_mixer_elem(amixer);
e454a13
 
e454a13
+    mixer_left = l;
e454a13
+    mixer_right = r;
e454a13
     if (elem == NULL)
e454a13
         return;
e454a13
 
1a83ec0
@@ -173,10 +178,10 @@
e454a13
     snd_mixer_elem_t *elem = alsaplug_guess_mixer_elem(amixer);
1a83ec0
     long left, right;
e454a13
 
e454a13
+    *l = mixer_left;
e454a13
+    *r = mixer_right;
e454a13
     if (elem == NULL)
1a83ec0
     {
1a83ec0
-        * l = 50;
1a83ec0
-        * r = 50;
e454a13
         return;
1a83ec0
     }
e454a13