carb::audio::ContextCaps

Defined in carb/audio/IAudioPlayback.h

struct ContextCaps

the capabilities of the context object.

Some of these values are set at the creation time of the context object. Others are updated when speaker positions are set or an output device is opened. This is only used to retrieve the capabilities of the context.

Public Members

size_t maxBuses

the maximum number of data buses to process simultaneously.

This is equivalent to the maximum number of potentially audible sounds that could possibly affect the output on the speakers. If more voices than this are active, the quietest or furthest voice will be deactivated. This value is set at creation time of the context object. This can be changed after creation with setBusCount().

SpeakerDirectionDesc speakerDirections

the directions of each speaker.

Only the speaker directions for the current speaker mode will be valid. All other speaker directions will be set to (0, 0, 0). This table can be indexed using the Speaker::* names. When a new context is first created or when a new device is selected with setOutput(), the speaker layout will always be set to the default for that device. The host app must set a new speaker direction layout if needed after selecting a new device.

DeviceCaps selectedDevice

the info for the connection to the currently selected device.

If no device is selected, the flags member will be set to fDeviceFlagNotOpen. If a device is selected, its information will be set in here, including its preferred output format. Note that the format information may differ from the information returned by getDeviceDetails() as this is the format that the audio is being processed at before being sent to the device.

OutputDesc output

the output target that is currently in use for the context.

This will provide access to any streamer objects in use or the index of the currently active output device. The device index stored in here will match the one in selectedDevice if a real audio device is in use.

void *ext

reserved for future expansion.

This must be nullptr.