On Wednesday 12 November 2003 13:03, Christian Esken wrote:
> Hello,
>
> I have a problem with snd_mixer_selem_set_capture_switch_all() from
> alsa-lib. The documentation states:
>
> /**
>  * \brief Set value of capture switch control for all channels of a mixer
> simple element
>  * \param elem Mixer simple element handle
>  * \param value control value
>  * \return 0 on success otherwise a negative error code
>  */
> int snd_mixer_selem_set_capture_switch_all(snd_mixer_elem_t *elem, int
> value)
>
> So I should receive either 0 or a negative value. But I receive a return
> value of 1. Does anybody know what this means?!? Any help is appreciated
> greatly.

I have investigated and found a possible bug in alsa-lib.
The documentation of snd_mixer_selem_set_capture_switch_all() only mentions 
return codes 0 and <0. As I said 1 is returned in my case - I now found a 
place where this could happen in the alsa-lib source code. The code is from 
src/mixer/simple.c , revision .59.

snd_mixer_selem_set_capture_switch_all() calls selem_write, which calls 
selem_read(). At the end of selem_read(), you find the following code 
snippet:


        if (memcmp(pvol, s->str[PLAY].vol, sizeof(pvol)) ||
            psw != s->str[PLAY].sw ||
            memcmp(cvol, s->str[CAPT].vol, sizeof(cvol)) ||
            csw != s->str[CAPT].sw)
                return 1;


This is where 1 is returned. But I do not understand the code. Can anybody 
explain to me. It looks a bit like I am passing "bad" parameters, but then I 
would expect to be returned an error code like EINVAL.



Greetings,
           Chris


-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to