waveformatextensible problem with assigning to DSBUFFERDESC

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



Answer this question

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.


  • waveformatextensible problem with assigning to DSBUFFERDESC