diff -Nur audacious-plugins-1.5.1-alsa-ng/src/alsa/alsa-core.c audacious-plugins-1.5.1-alsa-ng2/src/alsa/alsa-core.c
--- audacious-plugins-1.5.1-alsa-ng/src/alsa/alsa-core.c 2009-06-29 18:01:20.000000000 +0200
+++ audacious-plugins-1.5.1-alsa-ng2/src/alsa/alsa-core.c 2009-07-02 10:45:48.000000000 +0200
@@ -45,6 +45,7 @@
static snd_mixer_t *amixer = NULL;
static gboolean mixer_ready = FALSE;
+static gint mixer_left, mixer_right;
static snd_mixer_elem_t *
alsaplug_get_mixer_elem_by_name(snd_mixer_t *mixer, gchar *name)
@@ -75,6 +76,8 @@
gint i;
snd_mixer_elem_t *elem;
+ if (!mixer_ready)
+ return NULL;
if (alsaplug_cfg.mixer_device != NULL)
return alsaplug_get_mixer_elem_by_name(mixer, alsaplug_cfg.mixer_device);
@@ -140,6 +143,8 @@
{
snd_mixer_elem_t *elem = alsaplug_guess_mixer_elem(amixer);
+ mixer_left = l;
+ mixer_right = r;
if (elem == NULL)
return;
@@ -172,6 +177,8 @@
{
snd_mixer_elem_t *elem = alsaplug_guess_mixer_elem(amixer);
+ *l = mixer_left;
+ *r = mixer_right;
if (elem == NULL)
return;