BASS_INFO structure

Used with BASS_GetInfo to retrieve information on the current device.

typedef struct {
    DWORD flags;
    DWORD hwsize;
    DWORD hwfree;
    DWORD freesam;
    DWORD free3d;
    DWORD minrate;
    DWORD maxrate;
    BOOL eax;
    DWORD minbuf;
    DWORD dsver;
    DWORD latency;
    DWORD initflags;
    DWORD speakers;
    DWORD freq;
} BASS_INFO;

Members

flagsThe device's DirectSound capabilities... a combination of the following flags.
DSCAPS_EMULDRIVERThe device's drivers do not have DirectSound support, so it is being emulated.
DSCAPS_CERTIFIEDThe device driver has been certified by Microsoft. This flag is always set on WDM drivers.
DSCAPS_HARDWAREThe device is using hardware mixing to play the BASS output. The BASS channel mixing is still done in software by BASS.
hwsizeUnused.
hwfreeUnused.
freesamUnused.
free3dUnused.
minrateUnused.
maxrateUnused.
eaxUnused.
minbufThe minimum buffer length (rounded up to the nearest millisecond) to avoid stuttering playback. This is determined by the BASS_CONFIG_DEV_PERIOD setting. Note stuttering may still occur when this buffer length is used if the buffer is not updated frequently enough. When minimal latency is required, it is generally better to disable buffering via the BASS_ATTRIB_BUFFER option instead.
dsverDirectSound version... 9 = DX9/8/7/5 features are available, 8 = DX8/7/5 features are available, 7 = DX7/5 features are available, 5 = DX5 features are available. 0 = none of the DX9/8/7/5 features are available.
latencyThe average delay (rounded up to the nearest millisecond) for channel playback to start and be heard.
initflagsThe flags parameter of the BASS_Init call. This will include any flags that were applied automatically.
speakersThe number of available speakers, which can be accessed via the speaker assignment flags.
freqThe output rate.

Platform-specific

The speakers and freq members give the format of BASS's output mix. That will initially be set by BASS_Init but may also be updated to match the device's native format whenever that changes on Windows/macOS/iOS (not when using DirectSound output). A BASS_SYNC_DEV_FORMAT sync can be set via BASS_ChannelSetSync to be informed when that happens. On other platforms, BASS's output format may not necessarily match the device's output format, in which case the OS will be resampling it.

The flags and dsver members are only used on Windows.

See also

BASS_GetInfo