Quellcode durchsuchen

Updated mini_al to latest version

Ray San vor 7 Jahren
Ursprung
Commit
e17a9a8216
1 geänderte Dateien mit 25 neuen und 13 gelöschten Zeilen
  1. 25 13
      src/external/mini_al.h

+ 25 - 13
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 - [email protected]
 
@@ -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(<AL/al.h>)
+                #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.
 //