Added SDL_GetAudioFormatName()

Fixes https://github.com/libsdl-org/SDL/issues/10489
This commit is contained in:
Sam Lantinga
2024-08-08 14:36:44 -07:00
parent 74504e0965
commit 4cc3410dce
6 changed files with 98 additions and 0 deletions

View File

@@ -2173,6 +2173,25 @@ const SDL_AudioFormat *SDL_ClosestAudioFormats(SDL_AudioFormat format)
return &format_list[0][NUM_FORMATS]; // not found; return what looks like a list with only a zero in it.
}
const char *SDL_GetAudioFormatName(SDL_AudioFormat format)
{
switch (format) {
#define CASE(X) \
case X: return #X;
CASE(SDL_AUDIO_U8)
CASE(SDL_AUDIO_S8)
CASE(SDL_AUDIO_S16LE)
CASE(SDL_AUDIO_S16BE)
CASE(SDL_AUDIO_S32LE)
CASE(SDL_AUDIO_S32BE)
CASE(SDL_AUDIO_F32LE)
CASE(SDL_AUDIO_F32BE)
#undef CASE
default:
return "SDL_AUDIO_UNKNOWN";
}
}
int SDL_GetSilenceValueForFormat(SDL_AudioFormat format)
{
return (format == SDL_AUDIO_U8) ? 0x80 : 0x00;

View File

@@ -167,6 +167,7 @@ SDL3_0.0.0 {
SDL_GetAudioDeviceGain;
SDL_GetAudioDeviceName;
SDL_GetAudioDriver;
SDL_GetAudioFormatName;
SDL_GetAudioPlaybackDevices;
SDL_GetAudioRecordingDevices;
SDL_GetAudioStreamAvailable;

View File

@@ -192,6 +192,7 @@
#define SDL_GetAudioDeviceGain SDL_GetAudioDeviceGain_REAL
#define SDL_GetAudioDeviceName SDL_GetAudioDeviceName_REAL
#define SDL_GetAudioDriver SDL_GetAudioDriver_REAL
#define SDL_GetAudioFormatName SDL_GetAudioFormatName_REAL
#define SDL_GetAudioPlaybackDevices SDL_GetAudioPlaybackDevices_REAL
#define SDL_GetAudioRecordingDevices SDL_GetAudioRecordingDevices_REAL
#define SDL_GetAudioStreamAvailable SDL_GetAudioStreamAvailable_REAL

View File

@@ -212,6 +212,7 @@ SDL_DYNAPI_PROC(int,SDL_GetAudioDeviceFormat,(SDL_AudioDeviceID a, SDL_AudioSpec
SDL_DYNAPI_PROC(float,SDL_GetAudioDeviceGain,(SDL_AudioDeviceID a),(a),return)
SDL_DYNAPI_PROC(const char*,SDL_GetAudioDeviceName,(SDL_AudioDeviceID a),(a),return)
SDL_DYNAPI_PROC(const char*,SDL_GetAudioDriver,(int a),(a),return)
SDL_DYNAPI_PROC(const char*,SDL_GetAudioFormatName,(SDL_AudioFormat a),(a),return)
SDL_DYNAPI_PROC(SDL_AudioDeviceID*,SDL_GetAudioPlaybackDevices,(int *a),(a),return)
SDL_DYNAPI_PROC(SDL_AudioDeviceID*,SDL_GetAudioRecordingDevices,(int *a),(a),return)
SDL_DYNAPI_PROC(int,SDL_GetAudioStreamAvailable,(SDL_AudioStream *a),(a),return)