Update of /cvsroot/alsa/alsa-kernel/core/oss
In directory sc8-pr-cvs1:/tmp/cvs-serv3271/core/oss

Modified Files:
        mixer_oss.c 
Log Message:
try to change the non-exclusive capture elements even if the exclusive
"capture route" is found.  this will fix the problem of double-entry
of "mic capture" mixer elements.



Index: mixer_oss.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/core/oss/mixer_oss.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- mixer_oss.c 31 Jan 2003 15:19:31 -0000      1.20
+++ mixer_oss.c 27 Mar 2003 10:15:46 -0000      1.21
@@ -204,6 +204,8 @@
 static int snd_mixer_oss_set_recsrc(snd_mixer_oss_file_t *fmixer, int recsrc)
 {
        snd_mixer_oss_t *mixer = fmixer->mixer;
+       snd_mixer_oss_slot_t *pslot;
+       int chn, active;
        int result = 0;
 
        if (mixer == NULL)
@@ -214,16 +216,15 @@
                mixer->put_recsrc(fmixer, ffz(~recsrc));
                mixer->get_recsrc(fmixer, &result);
                result = 1 << result;
-       } else {
-               snd_mixer_oss_slot_t *pslot;
-               int chn, active;
-               for (chn = 0; chn < 31; chn++) {
-                       pslot = &mixer->slots[chn];
-                       if (pslot->put_recsrc) {
-                               active = (recsrc & (1 << chn)) ? 1 : 0;
-                               pslot->put_recsrc(fmixer, pslot, active);
-                       }
+       }
+       for (chn = 0; chn < 31; chn++) {
+               pslot = &mixer->slots[chn];
+               if (pslot->put_recsrc) {
+                       active = (recsrc & (1 << chn)) ? 1 : 0;
+                       pslot->put_recsrc(fmixer, pslot, active);
                }
+       }
+       if (! result) {
                for (chn = 0; chn < 31; chn++) {
                        pslot = &mixer->slots[chn];
                        if (pslot->get_recsrc) {



-------------------------------------------------------
This SF.net email is sponsored by:
The Definitive IT and Networking Event. Be There!
NetWorld+Interop Las Vegas 2003 -- Register today!
http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to