When setting the volume to 0%, the alsa output plugin in hw mode doens't
completely mute the device.
Steps to Reproduce:
1) In BMP: select ALSA plugin under Preferences - Plugins - Output
2) Click the Preferences button for ALSA Driver configuration and uncheck the
"Use software volume control" checkbox under the Device settings tab and select
Mixer device PCM
3) Click OK on the ALSA Driver configuration window and close the BMP
4) use an external mixer to set the Master and PCM channels to 0% (but don't
5) play a song in BMP
6) scroll the volume in BMP up a little and then back to 0%
7) in an external mixer now increase the master volume to about 60%
8) listen to the music playing softly, even though the volume is 0% according to BMP
kernel 2.6.12-rc4 (manually)
Created attachment 59073 [details, diff]
Mute fix in bmp 0.9.7
applied to native souce
Have you submitted your bug upstream?
If so, what is the bug number there?
(In reply to comment #2)
> Have you submitted your bug upstream?
> If so, what is the bug number there?
No, is it a feature of alsa not to completely mute with a zero value, or rather
a bug in beep-media-player?
In gklellm Volume Plugin 2.1.13 they expl. mute with a 0, but alsa-mixer doesn't
just like bmp.
But then again in
I found in alsa-lib-1.0.9rc3/src/mixer/simple.c th following code:
void snd_mixer_selem_set_playback_volume_range(snd_mixer_elem_t *elem,
long min, long max)
assert(elem->type == SND_MIXER_ELEM_SIMPLE);
assert(min < max);
s = elem->private_data;
s->str[PLAY].range = 1;
s->str[PLAY].min = min;
s->str[PLAY].max = max;
On line 7 assert(min < max) with a 0 will not compute so i'll go for alsa ;)
nvm wrong piece of code
This needs to be reported upstream to have them decide.
You are changing the behaviour of the mixer, while the current behaviour is
exactly what ALSA itself does. This may have been a conscious design decision.