On 27 August 2010 14:33, Henri Verbeet <hverb...@gmail.com> wrote: > clearly outside that range. At first sight I'd say there's an error in > the calculation for "mixdev[mixnum].chans" somewhere, that's what > ultimately determines the size of the block that's allocated above, > and should correspond to the number of lines filled in filllines(), 16 > in the log you attached. > Actually, looking a bit at what 6120d7cc14522983fbc38026ab4fcb6e4a68cdf0 actually does, does the attached patch make any difference for you?
diff --git a/dlls/winealsa.drv/mixer.c b/dlls/winealsa.drv/mixer.c index ffa0292..f90a1fb 100644 --- a/dlls/winealsa.drv/mixer.c +++ b/dlls/winealsa.drv/mixer.c @@ -520,7 +520,7 @@ static void ALSA_MixerInit(void) } /* Add master channel, uncounted channels and an extra for capture */ - mixdev[mixnum].chans += !!mastelem + !!headelem + !!pcmelem + 1; + mixdev[mixnum].chans += !!mastelem + !!micelem + !!headelem + !!pcmelem + 1; /* If there is only 'Capture' and 'Master', this device is not worth it */ if (mixdev[mixnum].chans == 2)