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
--- audacious-plugins-fedora-1.5.1-alsa-ng/src/alsa/alsa-core.c 2009-09-19 12:46:20.000000000 +0200
+++ audacious-plugins-fedora-1.5.1-alsa-ng-mixer/src/alsa/alsa-core.c 2009-09-19 12:54:29.476615457 +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;
@@ -173,10 +178,10 @@
snd_mixer_elem_t *elem = alsaplug_guess_mixer_elem(amixer);
long left, right;
+ *l = mixer_left;
+ *r = mixer_right;
if (elem == NULL)
{
- * l = 50;
- * r = 50;
return;
}