[alsa-devel] alsa-lib: snd_mixer_selem_is_active changes - which event?
Sebastian H.
vand2 at gmx.de
Sun Apr 17 14:06:17 CEST 2011
>> I wonder which event mask notifies an application that
>> snd_mixer_selem_is_active() may have changed.
>>
>> SND_CTL_EVENT_MASK_VALUE
>> or
>> SND_CTL_EVENT_MASK_INFO
>>
>> or something else?
>>
>> I'd be glad for any insights?
>>
>>
> qasmixer display the following message when play audio through front device
> of emu10k1
>
> alsa_callback_hctl_elem: Unknown mask ( 3 )
> [EE] snd_hctl_handle_events : Operation not permitted
This is actually a bug in qasmixer.
Up to now it could not handle multi event masks.
Mask 3 seems to be
SND_CTL_EVENT_MASK_VALUE & SND_CTL_EVENT_MASK_INFO ( 1 & 2 )
but qasmixer checks for
( mask == SND_CTL_EVENT_MASK_VALUE ) ||
( mask == SND_CTL_EVENT_MASK_INFO )
which fails as ( 3 == 1 ) || ( 3 == 2 ) == false;
That should be fixed now.
A new version should be around next week.
You could also try the development version in the sourceforge mercurial
repo.
> which event mask "SND_CTL_EVENT_MASK_VALUE" or "SND_CTL_EVENT_MASK_VALUE "
> should the mixer application handle first ?
IMO the order doesn't matter as long as both events are handled properly
and the displayed mixer state equals the system mixer state
afterwards.
> e.g. it is possible that the driver may change access of the control
>
> & ~SNDRV_CTL_ELEM_ACCESS_READ
If that triggers a SND_CTL_EVENT_MASK_INFO event it shouldn't be a
problem in the coming version 0.11.0.
Sebastian H.
More information about the Alsa-devel
mailing list