The volume increment or decrement is happening double the intended amount using amixer for my alsa driver using
./amixer -c 0 set Master 1- command. This happens because by default volume controls apply for both playback and capture modules. My alsa driver config doesn't enabled any of the capture controls.
Even if there is no capture enabled, the function from
true for capture channel. All the capture volume controls are applied to my playback driver.
static int is_ops(snd_mixer_elem_t *elem, int dir, int cmd, int val) case SM_OPS_IS_CHANNEL: return (unsigned int) val < s->str[dir].channels; ./amixer -c 0 set Master Playback 10+ ./amixer -c 0 set Master Playback 10 - ./amixer -c 0 set Master Capture 10+ ./amixer -c 0 set Master Capture 10 -
I suspect capture is enabled by default in my system for alsa drivers. Let me know what I need to do to ensure capture disabled.