Jeff Cook : winealsa.drv: Rewrite channel counting for additional readability and circumvention of a couple of crashes .
Alexandre Julliard
julliard at winehq.org
Mon Oct 11 13:15:12 CDT 2010
Module: wine
Branch: master
Commit: 0b4c99cd7de02bf6c896f2e2bc87b49a03356b7b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0b4c99cd7de02bf6c896f2e2bc87b49a03356b7b
Author: Jeff Cook <jeff at deserettechnology.com>
Date: Sun Oct 10 22:10:53 2010 -0600
winealsa.drv: Rewrite channel counting for additional readability and circumvention of a couple of crashes.
---
dlls/winealsa.drv/mixer.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/winealsa.drv/mixer.c b/dlls/winealsa.drv/mixer.c
index 6a7d14b..93c8927 100644
--- a/dlls/winealsa.drv/mixer.c
+++ b/dlls/winealsa.drv/mixer.c
@@ -491,7 +491,10 @@ static void ALSA_MixerInit(void)
for (elem = snd_mixer_first_elem(mixdev[mixnum].mix); elem; elem = snd_mixer_elem_next(elem))
if (!strcasecmp(snd_mixer_selem_get_name(elem), "Master") && !mastelem)
+ {
mastelem = elem;
+ ++(mixdev[mixnum].chans);
+ }
else if (!strcasecmp(snd_mixer_selem_get_name(elem), "Capture") && !captelem)
captelem = elem;
else if (!strcasecmp(snd_mixer_selem_get_name(elem), "Mic") && !micelem && !mastelem && total_elems == 1)
@@ -517,13 +520,12 @@ static void ALSA_MixerInit(void)
headelem = elem;
else if (!strcasecmp(snd_mixer_selem_get_name(elem), "PCM") && !pcmelem)
pcmelem = elem;
- else
- ++(mixdev[mixnum].chans);
+ ++(mixdev[mixnum].chans);
}
}
- /* Add master channel, uncounted channels and an extra for capture */
- mixdev[mixnum].chans += !!mastelem + !!headelem + !!pcmelem + 1;
+ /* Add dummy capture channel, wanted by Windows */
+ mixdev[mixnum].chans += 1;
/* If there is only 'Capture' and 'Master', this device is not worth it */
if (mixdev[mixnum].chans == 2)
More information about the wine-cvs
mailing list