Firelight Technologies FMOD Studio API
Bit fields for memory allocation type being passed into FMOD memory callbacks.
Remember this is a bitfield. You may get more than 1 bit set (ie physical + persistent) so do not simply switch on the types! You must check each bit individually or clear out the bits that you do not want within the callback.
Bits can be excluded if you want during Memory_Initialize so that you never get them.
#define FMOD_MEMORY_NORMAL 0x00000000
#define FMOD_MEMORY_STREAM_FILE 0x00000001
#define FMOD_MEMORY_STREAM_DECODE 0x00000002
#define FMOD_MEMORY_SAMPLEDATA 0x00000004
#define FMOD_MEMORY_DSP_BUFFER 0x00000008
#define FMOD_MEMORY_PLUGIN 0x00000010
#define FMOD_MEMORY_XBOX360_PHYSICAL 0x00100000
#define FMOD_MEMORY_PERSISTENT 0x00200000
#define FMOD_MEMORY_SECONDARY 0x00400000
#define FMOD_MEMORY_ALL 0xFFFFFFFF
FMOD_MEMORY_NORMAL
Standard memory.
FMOD_MEMORY_STREAM_FILE
Stream file buffer, size controllable with System::setStreamBufferSize.
FMOD_MEMORY_STREAM_DECODE
Stream decode buffer, size controllable with FMOD_CREATESOUNDEXINFO::decodebuffersize.
FMOD_MEMORY_SAMPLEDATA
Sample data buffer. Raw audio data, usually PCM/MPEG/ADPCM/XMA data.
FMOD_MEMORY_DSP_BUFFER
DSP memory block allocated when more than 1 output exists on a DSP node.
FMOD_MEMORY_PLUGIN
Memory allocated by a third party plugin.
FMOD_MEMORY_XBOX360_PHYSICAL
Requires XPhysicalAlloc / XPhysicalFree.
FMOD_MEMORY_PERSISTENT
Persistent memory. Memory will be freed when System::release is called.
FMOD_MEMORY_SECONDARY
Secondary memory. Allocation should be in secondary memory. For example RSX on the PS3.
FMOD_MEMORY_ALL
Version 1.03.06 Built on Apr 17, 2014