diff --git a/CHANGES.md b/CHANGES.md index 9c41d8ae..f87a9f39 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,9 @@ +v0.11.25 - TBD +===================== +* Fixed warnings with the Emscripten build relating to the renaming of of `__EMSCRIPTEN_major/minor/tiny__` macros. +* Win32: Fixed an error with runtime linking on the UWP build. This is actually a non issue in practice because it would require miniaudio to pass in a DLL name of longer than 2048 characters which it never does. + + v0.11.24 - 2026-01-17 ===================== * Fixed a possible glitch when processing the audio of a `ma_sound` when doing resampling. diff --git a/miniaudio.h b/miniaudio.h index 54a4a040..70296751 100644 --- a/miniaudio.h +++ b/miniaudio.h @@ -19634,7 +19634,7 @@ MA_API ma_handle ma_dlopen(ma_log* pLog, const char* filename) #else /* *sigh* It appears there is no ANSI version of LoadPackagedLibrary()... */ WCHAR filenameW[4096]; - if (MultiByteToWideChar(CP_UTF8, 0, filename, -1, filenameW, sizeof(filenameW)) == 0) { + if (MultiByteToWideChar(CP_UTF8, 0, filename, -1, filenameW, ma_countof(filenameW)) == 0) { handle = NULL; } else { handle = (ma_handle)LoadPackagedLibrary(filenameW, 0); @@ -46184,11 +46184,33 @@ Web Audio Backend #ifdef MA_HAS_WEBAUDIO #include -#if (__EMSCRIPTEN_major__ > 3) || (__EMSCRIPTEN_major__ == 3 && (__EMSCRIPTEN_minor__ > 1 || (__EMSCRIPTEN_minor__ == 1 && __EMSCRIPTEN_tiny__ >= 32))) +#ifndef MA_EMSCRIPTEN_MAJOR + #if defined(__EMSCRIPTEN_MAJOR__) + #define MA_EMSCRIPTEN_MAJOR __EMSCRIPTEN_MAJOR__ + #else + #define MA_EMSCRIPTEN_MAJOR __EMSCRIPTEN_major__ + #endif +#endif +#ifndef MA_EMSCRIPTEN_MINOR + #if defined(__EMSCRIPTEN_MINOR__) + #define MA_EMSCRIPTEN_MINOR __EMSCRIPTEN_MINOR__ + #else + #define MA_EMSCRIPTEN_MINOR __EMSCRIPTEN_minor__ + #endif +#endif +#ifndef MA_EMSCRIPTEN_TINY + #if defined(__EMSCRIPTEN_TINY__) + #define MA_EMSCRIPTEN_TINY __EMSCRIPTEN_TINY__ + #else + #define MA_EMSCRIPTEN_TINY __EMSCRIPTEN_tiny__ + #endif +#endif + +#if (MA_EMSCRIPTEN_MAJOR > 3) || (MA_EMSCRIPTEN_MAJOR == 3 && (MA_EMSCRIPTEN_MINOR > 1 || (MA_EMSCRIPTEN_MINOR == 1 && MA_EMSCRIPTEN_TINY >= 32))) #include #define MA_SUPPORT_AUDIO_WORKLETS - #if (__EMSCRIPTEN_major__ > 3) || (__EMSCRIPTEN_major__ == 3 && (__EMSCRIPTEN_minor__ > 1 || (__EMSCRIPTEN_minor__ == 1 && __EMSCRIPTEN_tiny__ >= 70))) + #if (MA_EMSCRIPTEN_MAJOR > 3) || (MA_EMSCRIPTEN_MAJOR == 3 && (MA_EMSCRIPTEN_MINOR > 1 || (MA_EMSCRIPTEN_MINOR == 1 && MA_EMSCRIPTEN_TINY >= 70))) #define MA_SUPPORT_AUDIO_WORKLETS_VARIABLE_BUFFER_SIZE #endif #endif @@ -46198,9 +46220,6 @@ Web Audio Backend #pragma GCC diagnostic ignored "-Wdollar-in-identifier-extension" #pragma GCC diagnostic ignored "-Wvariadic-macro-arguments-omitted" -/* -TODO: Version 0.12: Swap this logic around so that AudioWorklets are used by default. Add MA_NO_AUDIO_WORKLETS. -*/ #if defined(MA_ENABLE_AUDIO_WORKLETS) && defined(MA_SUPPORT_AUDIO_WORKLETS) #define MA_USE_AUDIO_WORKLETS #endif @@ -66526,6 +66545,10 @@ static ma_result ma_data_source_read_pcm_frames_within_range(ma_data_source* pDa ma_uint64 framesRead = 0; ma_bool32 loop = ma_data_source_is_looping(pDataSource); + if (pFramesRead != NULL) { + *pFramesRead = 0; + } + if (pDataSourceBase == NULL) { return MA_AT_END; }