Firelight Technologies FMOD Studio API

FMOD_OUTPUTTYPE

These output types are used with System::setOutput / System::getOutput, to choose which output method to use.

Enumeration

typedef enum {
  FMOD_OUTPUTTYPE_AUTODETECT,
  FMOD_OUTPUTTYPE_UNKNOWN,
  FMOD_OUTPUTTYPE_NOSOUND,
  FMOD_OUTPUTTYPE_WAVWRITER,
  FMOD_OUTPUTTYPE_NOSOUND_NRT,
  FMOD_OUTPUTTYPE_WAVWRITER_NRT,
  FMOD_OUTPUTTYPE_DSOUND,
  FMOD_OUTPUTTYPE_WINMM,
  FMOD_OUTPUTTYPE_WASAPI,
  FMOD_OUTPUTTYPE_ASIO,
  FMOD_OUTPUTTYPE_OSS,
  FMOD_OUTPUTTYPE_ALSA,
  FMOD_OUTPUTTYPE_ESD,
  FMOD_OUTPUTTYPE_PULSEAUDIO,
  FMOD_OUTPUTTYPE_COREAUDIO,
  FMOD_OUTPUTTYPE_XBOX360,
  FMOD_OUTPUTTYPE_PS3,
  FMOD_OUTPUTTYPE_AUDIOTRACK,
  FMOD_OUTPUTTYPE_OPENSL,
  FMOD_OUTPUTTYPE_WIIU,
  FMOD_OUTPUTTYPE_AUDIOOUT,
  FMOD_OUTPUTTYPE_MAX
} FMOD_OUTPUTTYPE;

Values

FMOD_OUTPUTTYPE_AUTODETECT

Picks the best output mode for the platform. This is the default.

FMOD_OUTPUTTYPE_UNKNOWN

All - 3rd party plugin, unknown. This is for use with System::getOutput only.

FMOD_OUTPUTTYPE_NOSOUND

All - All calls in this mode succeed but make no sound.

FMOD_OUTPUTTYPE_WAVWRITER

All - Writes output to fmodoutput.wav by default. Use the 'extradriverdata' parameter in System::init, by simply passing the filename as a string, to set the wav filename.

FMOD_OUTPUTTYPE_NOSOUND_NRT

All - Non-realtime version of FMOD_OUTPUTTYPE_NOSOUND. User can drive mixer with System::update at whatever rate they want.

FMOD_OUTPUTTYPE_WAVWRITER_NRT

All - Non-realtime version of FMOD_OUTPUTTYPE_WAVWRITER. User can drive mixer with System::update at whatever rate they want.

FMOD_OUTPUTTYPE_DSOUND

Win32/Win64 - DirectSound output. (Default on Windows XP and below)

FMOD_OUTPUTTYPE_WINMM

Win32/Win64 - Windows Multimedia output.

FMOD_OUTPUTTYPE_WASAPI

Win - Windows Audio Session API. (Default on Windows Vista and above)

FMOD_OUTPUTTYPE_ASIO

Win32 - Low latency ASIO 2.0 driver.

FMOD_OUTPUTTYPE_OSS

Linux/Linux64 - Open Sound System output. (Default on Linux, third preference)

FMOD_OUTPUTTYPE_ALSA

Linux/Linux64 - Advanced Linux Sound Architecture output. (Default on Linux, second preference if available)

FMOD_OUTPUTTYPE_ESD

Linux/Linux64 - Enlightment Sound Daemon output.

FMOD_OUTPUTTYPE_PULSEAUDIO

Linux/Linux64 - PulseAudio output. (Default on Linux, first preference if available)

FMOD_OUTPUTTYPE_COREAUDIO

Mac - Macintosh CoreAudio output. (Default on Mac)

FMOD_OUTPUTTYPE_XBOX360

Xbox 360 - Native Xbox360 output. (Default on Xbox 360)

FMOD_OUTPUTTYPE_PS3

PS3 - Native PS3 output. (Default on PS3)

FMOD_OUTPUTTYPE_AUDIOTRACK

Android - Java Audio Track output. (Default on Android 2.2 and below)

FMOD_OUTPUTTYPE_OPENSL

Android - OpenSL ES output. (Default on Android 2.3 and above)

FMOD_OUTPUTTYPE_WIIU

Wii U - Native Wii U output. (Default on Wii U)

FMOD_OUTPUTTYPE_AUDIOOUT

PS4/PSVita - Audio Out output. (Default on PS4 and PS Vita)

FMOD_OUTPUTTYPE_MAX

Maximum number of output types supported.

Remarks

To pass information to the driver when initializing fmod use the extradriverdata parameter in System::init for the following reasons.

Currently these are the only FMOD drivers that take extra information. Other unknown plugins may have different requirements.

Note! If FMOD_OUTPUTTYPE_WAVWRITER_NRT or FMOD_OUTPUTTYPE_NOSOUND_NRT are used, and if the System::update function is being called very quickly (ie for a non realtime decode) it may be being called too quickly for the FMOD streamer thread to respond to. The result will be a skipping/stuttering output in the captured audio.

To remedy this, disable the FMOD Studio streamer thread, and use FMOD_INIT_STREAM_FROM_UPDATE to avoid skipping in the output stream, as it will lock the mixer and the streamer together in the same thread.

See Also




Version 1.03.06 Built on Apr 17, 2014