SDL_HINT_AUDIO_DEVICE_STREAM_ROLE - Man Page

Specify an application role for an audio device.

Synopsis

#include <SDL3/SDL_hints.h>

#define SDL_HINT_AUDIO_DEVICE_STREAM_ROLE "SDL_AUDIO_DEVICE_STREAM_ROLE"

Description

Some audio backends (such as Pipewire) allow you to describe the role of your audio stream. Among other things, this description might show up in a system control panel or software for displaying and manipulating media playback/recording graphs.

This hints lets you transmit that information to the OS. The contents of this hint are used while opening an audio device. You should use a string that describes your what your program is playing (Game, Music, Movie, etc...).

Setting this to "" or leaving it unset will have SDL use a reasonable default: "Game" or something similar.

Note that while this talks about audio streams, this is an OS-level concept, so it applies to a physical audio device in this case, and not an SDL_AudioStream, nor an SDL logical audio device.

For Windows WASAPI audio, the following roles are supported, and map to AUDIO_STREAM_CATEGORY:

· "Other" (default)

· "Communications" - Real-time communications, such as VOIP or chat

· "Game" - Game audio

· "GameChat" - Game chat audio, similar to "Communications" except that this will not attenuate other audio streams

· "Movie" - Music or sound with dialog

· "Media" - Music or sound without dialog

If your application applies its own echo cancellation, gain control, and noise reduction it should also set SDL_HINT_AUDIO_DEVICE_RAW_STREAM.

This hint should be set before an audio device is opened.

Availability

This hint is available since SDL 3.2.0.

Info

SDL 3.3.2 Simple Directmedia Layer SDL3 FUNCTIONS