I’m trying to load a sound embedded inside a larger file with an offset and a length, but I’ve hit a problem – calling FMOD_System_CreateSound() with a pointer to a FMOD_CREATESOUNDEXINFO structure as the fourth parameter always seems to cause the error FMOD_ERR_INVALID_ADDRESS. The description for this error is [b:3k1ntvub]"On Xbox 360, this memory address passed to FMOD must be physical, (ie allocated with XPhysicalAlloc.)"[/b:3k1ntvub] which seems weird since this is Win32, not Xbox.
This is what I’m doing to create the structure (I’m not even setting any values yet so it should just be equivalent to passing NULL as far as I can tell):
memset(&exInfo, 0, sizeof(FMOD_CREATESOUNDEXINFO));
exInfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);
Any help appreciated! 😀
- DuncanC asked 10 years ago
As you guessed, the first thing you should have noticed that the error code is meant for xbox, so are you are your fmod.h is up to date? Win32 version of the API simply does not return that error code.
Make sure your lib and header are up to date and match, it may be that the error code list has changed and the index you are getting is for a different error. (maybe FMOD_ERR_INVALID_PARAM?)
Please login first to submit.