wfex.Format.wFormatTag = WAVE_FORMAT_EXTENSIBLE;
wfex.Format.nChannels = g.s.dxOutChan;
wfex.Format.nBlockAlign = (g.s.dxOutChan * g.s.dxOutBitSiz) / 8;
wfex.Format.nSamplesPerSec = g.s.SAMPLE_RATE;
wfex.Format.nAvgBytesPerSec = wfex.Format.nSamplesPerSec * wfex.Format.nBlockAlign;
wfex.Format.wBitsPerSample = g.s.dxOutBitSiz;
wfex.Format.cbSize = 22;
wfex.Samples.wValidBitsPerSample = g.s.dxOutBitSiz;
wfex.dwChannelMask = SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT;
wfex.SubFormat = KSDATAFORMAT_SUBTYPE_PCM;
dsbd.dwSize = sizeof(DSBUFFERDESC);
dsbd.dwFlags = DSBCAPS_GLOBALFOCUS | DSBCAPS_GETCURRENTPOSITION2;
dsbd.dwFlags |= DSBCAPS_CTRLPOSITIONNOTIFY;
if(dxAudio->p3DListener)
dsbd.dwFlags |= DSBCAPS_CTRL3D;
dsbd.dwBufferBytes = iFrameSize * g.s.dxOutBytSiz * NBLOCKS;
dsbd.lpwfxFormat = &wfex;
the last line gives me the problem
DXAudioOutput.cpp:107: error: cannot convert `WAVEFORMATEXTENSIBLE*' to `tWAVEFORMATEX*' in assignment
can comeone help me with that

waveformatextensible problem with assigning to DSBUFFERDESC
Yao-Jie Tang - MSFT
Cast it to a WAVEFORMATEX, DSound will recognise it for what it is via the WAVE_FORMAT_EXTENSIBLE flag.