From e17a9a82169935ea2d1eeb98425e608daf98b7f1 Mon Sep 17 00:00:00 2001 From: Ray San Date: Fri, 15 Dec 2017 17:01:50 +0100 Subject: [PATCH] Updated mini_al to latest version --- src/external/mini_al.h | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/src/external/mini_al.h b/src/external/mini_al.h index 36c394ad..906e3c59 100644 --- a/src/external/mini_al.h +++ b/src/external/mini_al.h @@ -1,5 +1,5 @@ // Audio playback and capture library. Public domain. See "unlicense" statement at the end of this file. -// mini_al - v0.x - 2017-xx-xx +// mini_al - v0.x - xxxx-xx-xx // // David Reid - davidreidsoftware@gmail.com @@ -1422,12 +1422,13 @@ mal_uint32 mal_src_read_frames(mal_src* pSRC, mal_uint32 frameCount, void* pFram // The same mal_src_read_frames() with extra control over whether or not the internal buffers should be flushed at the end. // // Internally there exists a buffer that keeps track of the previous and next samples for sample rate conversion. The simple -// version of this function does _not_ flush this buffer because otherwise it causes clitches for streaming based conversion +// version of this function does _not_ flush this buffer because otherwise it causes glitches for streaming based conversion // pipelines. The problem, however, is that sometimes you need those last few samples (such as if you're doing a bulk conversion // of a static file). Enabling flushing will fix this for you. mal_uint32 mal_src_read_frames_ex(mal_src* pSRC, mal_uint32 frameCount, void* pFramesOut, mal_bool32 flush); + /////////////////////////////////////////////////////////////////////////////// // // DSP @@ -1465,6 +1466,8 @@ mal_uint32 mal_convert_frames(void* pOut, mal_format formatOut, mal_uint32 chann // Helper for initializing a mal_dsp_config object. mal_dsp_config mal_dsp_config_init(mal_format formatIn, mal_uint32 channelsIn, mal_uint32 sampleRateIn, mal_format formatOut, mal_uint32 channelsOut, mal_uint32 sampleRateOut); + + /////////////////////////////////////////////////////////////////////////////// // // Utiltities @@ -1635,7 +1638,14 @@ void mal_pcm_convert(void* pOut, mal_format formatOut, const void* pIn, mal_form #define MAL_HAS_OPENSL // Like OSS, OpenSL is the only supported backend for Android. It must be present. #endif #ifdef MAL_ENABLE_OPENAL - #define MAL_HAS_OPENAL // mini_al inlines the necessary OpenAL stuff. + #define MAL_HAS_OPENAL + #ifdef MAL_NO_RUNTIME_LINKING + #ifdef __has_include + #if !__has_include() + #undef MAL_HAS_OPENAL + #endif + #endif + #endif #endif #ifdef MAL_ENABLE_SDL #define MAL_HAS_SDL @@ -2745,13 +2755,11 @@ static mal_result mal_context__try_get_device_name_by_id(mal_context* pContext, } } break; #endif - #if 0 #ifdef MAL_HAS_COREAUDIO - case mal_backend_coreaudio: - { - // TODO: Implement me. - } break; - #endif + //case mal_backend_coreaudio: + //{ + // // TODO: Implement me. + //} break; #endif #ifdef MAL_HAS_OSS case mal_backend_oss: @@ -5488,8 +5496,8 @@ struct const char* name; float scale; } g_malDefaultBufferSizeScalesALSA[] = { - {"bcm2835 IEC958/HDMI", 32}, - {"bcm2835 ALSA", 32} + {"bcm2835 IEC958/HDMI", 20}, + {"bcm2835 ALSA", 20} }; static float mal_find_default_buffer_size_scale__alsa(const char* deviceName) @@ -11486,7 +11494,11 @@ void mal_pcm_f32_to_s32(int* pOut, const float* pIn, unsigned int count) // REVISION HISTORY // ================ // -// v0.x - 2017-xx-xx +// v0.x - xxxx-xx-xx +// - Improvements to the build system for the OpenAL backend. +// - Documentation fixes. +// +// v0.6 - 2017-12-08 // - API CHANGE: Expose and improve mutex APIs. If you were using the mutex APIs before this version you'll // need to update. // - API CHANGE: SRC and DSP callbacks now take a pointer to a mal_src and mal_dsp object respectively. @@ -11499,7 +11511,7 @@ void mal_pcm_f32_to_s32(int* pOut, const float* pIn, unsigned int count) // - Add mal_convert_frames(). This is a high-level helper API for performing a one-time, bulk conversion of // audio data to a different format. // - Improvements to f32 -> u8/s16/s24/s32 conversion routines. -// - Fix a bug where the wrong value is returned from mal_device_start() for the OpenSL and SDL backends. +// - Fix a bug where the wrong value is returned from mal_device_start() for the OpenSL backend. // - Fixes and improvements for Raspberry Pi. // - Warning fixes. //