From b9bb80d004d93aac0fe71b56b0efa71416a2e97e Mon Sep 17 00:00:00 2001 From: David Reid Date: Sat, 18 Nov 2017 10:27:44 +1000 Subject: [PATCH] Add some logging and update mini_al. --- src/audio.c | 5 +++++ src/external/mini_al.h | 44 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/audio.c b/src/audio.c index 83538f069..5bff9a0cb 100644 --- a/src/audio.c +++ b/src/audio.c @@ -425,6 +425,11 @@ void InitAudioDevice(void) return; } + TraceLog(LOG_INFO, "Audio device initialized successfully"); + TraceLog(LOG_INFO, "Audio backend: %s", mal_get_backend_name(context.backend)); + TraceLog(LOG_INFO, "Audio format: %s", mal_get_format_name(device.format)); + TraceLog(LOG_INFO, "Audio channels: %d", device.channels); + TraceLog(LOG_INFO, "Audio sample rate: %d", device.sampleRate); isAudioInitialized = MAL_TRUE; #else diff --git a/src/external/mini_al.h b/src/external/mini_al.h index 18dd3b40c..2dcf3e711 100644 --- a/src/external/mini_al.h +++ b/src/external/mini_al.h @@ -195,6 +195,9 @@ extern "C" { #ifdef __ANDROID__ #define MAL_ANDROID #endif + #ifdef __EMSCRIPTEN__ + #define MAL_EMSCRIPTEN + #endif #endif // Some backends are only supported on certain platforms. @@ -226,7 +229,7 @@ extern "C" { #if defined(MAL_ANDROID) #define MAL_SUPPORT_OPENSL #endif - #if !defined(MAL_LINUX) && !defined(MAL_APPLE) && !defined(MAL_ANDROID) + #if !defined(MAL_LINUX) && !defined(MAL_APPLE) && !defined(MAL_ANDROID) && !defined(MAL_EMSCRIPTEN) #define MAL_SUPPORT_OSS #endif #endif @@ -1435,6 +1438,12 @@ void mal_mutex_unlock(mal_mutex* pMutex); // /////////////////////////////////////////////////////////////////////////////// +// Retrieves a friendly name for a backend. +const char* mal_get_backend_name(mal_backend backend); + +// Retrieves a friendly name for a format. +const char* mal_get_format_name(mal_format format); + // Blends two frames in floating point format. void mal_blend_f32(float* pOut, float* pInA, float* pInB, float factor, mal_uint32 channels); @@ -10287,6 +10296,39 @@ mal_uint32 mal_convert_frames(void* pOut, mal_format formatOut, mal_uint32 chann ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +const char* mal_get_backend_name(mal_backend backend) +{ + switch (backend) + { + case mal_backend_null: return "Null"; + case mal_backend_wasapi: return "WASAPI"; + case mal_backend_dsound: return "DirectSound"; + case mal_backend_winmm: return "WinMM"; + case mal_backend_alsa: return "ALSA"; + //case mal_backend_pulse: return "PulseAudio"; + //case mal_backend_jack: return "JACK"; + //case mal_backend_coreaudio: return "Core Audio"; + case mal_backend_oss: return "OSS"; + case mal_backend_opensl: return "OpenSL|ES"; + case mal_backend_openal: return "OpenAL"; + default: return "Unknown"; + } +} + +const char* mal_get_format_name(mal_format format) +{ + switch (format) + { + case mal_format_unknown: return "Unknown"; + case mal_format_u8: return "8-bit Unsigned Integer"; + case mal_format_s16: return "16-bit Signed Integer"; + case mal_format_s24: return "24-bit Signed Integer (Tightly Packed)"; + case mal_format_s32: return "32-bit Signed Integer"; + case mal_format_f32: return "32-bit IEEE Floating Point"; + default: return "Invalid"; + } +} + void mal_blend_f32(float* pOut, float* pInA, float* pInB, float factor, mal_uint32 channels) { for (mal_uint32 i = 0; i < channels; ++i) {