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; }