Cannt apply 3D arithmetic to a streaming buffer?
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
Popular Topics
Advertisement