Added SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE

This commit is contained in:
Sam Lantinga 2024-08-03 08:04:46 -07:00
parent 71574ac985
commit f05cd85048
2 changed files with 12 additions and 1 deletions

View file

@ -197,6 +197,17 @@ extern "C" {
*/ */
#define SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION" #define SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"
/**
* Specify the default ALSA audio device name.
*
* This variable is a specific audio device to open when the "default" audio device is used. By default if 4 channel audio is requested, the "plug:surround40" device will be opened and if 6 channel audio is requested the "plug:surround51" device will be opened.
*
* This hint should be set before an audio device is opened.
*
* \since This hint is available since SDL 3.0.0.
*/
#define SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE "SDL_AUDIO_ALSA_DEFAULT_DEVICE"
/** /**
* A variable controlling the audio category on iOS and macOS. * A variable controlling the audio category on iOS and macOS.
* *

View file

@ -228,7 +228,7 @@ static const char *get_audio_device(void *handle, const int channels)
ALSA_Device *dev = (ALSA_Device *)handle; ALSA_Device *dev = (ALSA_Device *)handle;
if (SDL_strcmp(dev->name, "default") == 0) { if (SDL_strcmp(dev->name, "default") == 0) {
const char *device = SDL_getenv("AUDIODEV"); // Is there a standard variable name? const char *device = SDL_GetHint(SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE);
if (device) { if (device) {
return device; return device;
} else if (channels == 6) { } else if (channels == 6) {