Jump to content
Mumble forums

How i fixed bsod code 19 in mumble source


oldodin
 Share

Recommended Posts

On a notebook when running Mumble i have blue screen. bsod 19.

OS - windows xp, on windows 7 mumble work fine and on win xp on other computers too.

I download mumble source and started to debug the code. And i found the line at which the bsod.

in DXAudioOutput::run method

 

       ZeroMemory(&wfx, sizeof(wfx));
wfx.Format.wFormatTag = WAVE_FORMAT_EXTENSIBLE;
wfx.Format.nChannels = qMax(ns, 2);
wfx.Format.nSamplesPerSec = SAMPLE_RATE;
wfx.Format.nBlockAlign = sizeof(short) * wfx.Format.nChannels;
wfx.Format.nAvgBytesPerSec = wfx.Format.nSamplesPerSec * wfx.Format.nBlockAlign;
wfx.Format.wBitsPerSample = 16;
wfx.Format.cbSize = 32;
wfx.Samples.wValidBitsPerSample = wfx.Format.wBitsPerSample;
wfx.dwChannelMask = dwMask;
wfx.SubFormat = KSDATAFORMAT_SUBTYPE_PCM;

ZeroMemory(&dsbdesc, sizeof(DSBUFFERDESC));
dsbdesc.dwSize          = sizeof(DSBUFFERDESC);
dsbdesc.dwFlags         = DSBCAPS_GLOBALFOCUS|DSBCAPS_GETCURRENTPOSITION2;
dsbdesc.dwFlags	 |= DSBCAPS_CTRLPOSITIONNOTIFY;
dsbdesc.dwBufferBytes = wfx.Format.nChannels * iFrameSize * sizeof(short) * NBLOCKS;
dsbdesc.lpwfxFormat     = reinterpret_cast<WAVEFORMATEX *>(&wfx);

if (FAILED(hr = pDS->CreateSoundBuffer(&dsbdesc, &pDSBOutput, NULL))) {
	qWarning("DXAudioOutputUser: CreateSoundBuffer (Secondary) failed: hr=0x%08lx", hr);
	goto cleanup;
}

 

BSOD in this line -

if (FAILED(hr = pDS->CreateSoundBuffer(&dsbdesc, &pDSBOutput, NULL))) 

 

I understand that this error is not on the side of Mumble, through experimentation, I found that crashed due

 wfx.dwChannelMask = dwMask;

Solution:

I fixed set dwChannelMask to default value - zero, or can pDS->SetSpeakerConfig for more channels than used dwChannelMask. And mumble work fine.


Please, help notify about this mumble developer.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...