Cannt apply 3D arithmetic to a streaming buffer?

Started by
-1 comments, last by coollofty 18 years, 6 months ago
I create a buffer like this: ///////////////////////// DSBUFFERDESC ddsd; memset(&ddsd, NULL, sizeof(DSBUFFERDESC)); ddsd.dwSize = sizeof(DSBUFFERDESC); ddsd.dwBufferBytes = uBufSize; ddsd.dwFlags = DSBCAPS_CTRLPOSITIONNOTIFY | DSBCAPS_GETCURRENTPOSITION2; ddsd.dwFlags |= DSBCAPS_CTRL3D | DSBCAPS_CTRLVOLUME; ddsd.guid3DAlgorithm = DS3DALG_HRTF_LIGHT; HRESULT hr = pds->CreateSoundBuffer(&ddsd, &psb, NULL); //////////////////////// This code will take a error, the CreateSoundBuffer returned E_INVALIDARG, but if I remove the value of DSBCAPS_CTRLPOSITIONNOTIFY | DSBCAPS_GETCURRENTPOSITION2, the returned will be S_OK. Why the streaming buffer cannot apply the 3D arithmetic?

This topic is closed to new replies.

Advertisement