Commit Graph

3998 Commits

Author SHA1 Message Date
David Reid e93ec1d340 MinGW: Fix build when compiling with -mcrtdll=crtdll. 2026-07-19 10:25:04 +10:00
Steven Noonan 22fd206db9 resource_manager: fix data buffer teardown racing async load job tail
ma_resource_manager_data_buffer_uninit takes a synchronous teardown path as
soon as it observes result == MA_SUCCESS, freeing the buffer. But the load
job (ma_job_process__resource_manager__load_data_buffer) publishes that
result code via a CAS several instructions before it finishes referencing
the buffer: it still reads has_connector() and does the executionPointer
increment afterward. A concurrent uninit that observes MA_SUCCESS therefore
frees the buffer out from under the job tail, which then reads and
atomically increments freed (and possibly recycled) memory.

The asynchronous free path is safe because it waits on the order /
executionPointer ticket scheme; the synchronous shortcut bypassed it. Make
the synchronous path wait for executionPointer to catch up to
executionCounter before tearing down, so no job is still referencing the
buffer. Caught by ThreadSanitizer.
2026-07-16 07:00:30 +10:00
David Reid a98cc2a810 Update dr_wav. 2026-07-13 10:51:36 +10:00
David Reid 87206fca67 Resource Manager: Fix a possible crash when loading fails.
Public issue: https://github.com/mackron/miniaudio/issues/1129
2026-07-13 08:39:19 +10:00
David Reid cca9aaab77 Update change history. 2026-07-13 07:57:13 +10:00
David Reid 5bf32c47e5 Fix a bug where the end of a sound is cutoff.
Public issue https://github.com/mackron/miniaudio/issues/1125
2026-07-13 07:45:59 +10:00
David Reid dd644e9269 Add placeholder RISC-V architecture detection.
Public issue https://github.com/mackron/miniaudio/pull/1135
2026-07-11 10:41:49 +10:00
David Reid a3a0005fca CMake: Fix a possible build error relating to the SteamAudio example.
Public issue https://github.com/mackron/miniaudio/pull/1135
2026-07-11 10:31:50 +10:00
Alex Belanger 21349ce158 Bump CMake min version to 3.13 2026-07-11 09:58:24 +10:00
David Reid 87e22c68dd iOS: Use OBJCXX when FORCE_CXX is enabled. 2026-07-11 09:56:18 +10:00
雪竜 (Tommy Li) 00ce58dfa8 Exclude macOS from Objective-C handling 2026-07-11 09:53:27 +10:00
雪竜 (Tommy Li) 4844874cda Set implementation file as Objective-C in CMake for Apple platforms
This fixes CMake build targeting iOS due to usage of AVFoundation that requires Objective-C support.
2026-07-11 09:53:27 +10:00
toxieainc 9d98e9f887 slightly improve precision 2026-07-11 09:44:52 +10:00
David Reid c4bf8a8488 Fix an error with node initialization. 2026-07-07 07:58:13 +10:00
David Reid 1cb1c1be00 Update security. 2026-05-11 05:36:24 +10:00
David Reid 40540a1502 PulseAudio: Fix a format negotiation error.
This addresses a case when PulseAudio may negotiate S24_32 which is not
a format supported by miniaudio. This commit does two things to guard
against this:

  * The requested format is now explicitly used instead of using the
    queried format from `pa_context_get_source_info_by_name()`.

  * The `PA_STREAM_FIX_FORMAT` stream flag is no longer used as that can
    possibly negotiate something different to what we request. I.e., it
    can possibly give us S24_32 which is not usable.
2026-05-10 15:00:27 +10:00
David Reid 326d7ec9a5 Update fs. 2026-05-02 15:43:29 +10:00
David Reid 09615e6bc1 Update c89atomic. 2026-04-26 18:56:05 +10:00
David Reid 12a83fcf54 Update dr_wav. 2026-04-26 11:55:12 +10:00
David Reid 2986173662 Emscripten: Fix an error with ALLOW_MEMORY_GROWTH.
Public issue https://github.com/mackron/miniaudio/issues/1114
2026-04-26 08:32:28 +10:00
Echo J dcfc24c100 Emscripten: Cast pointer arguments to pointer-sized integers
For some reason, 64-bit pointer arguments are casted to Numbers
in Emscripten's type handling (which causes conversion errors when
passing them back to native code)
2026-04-26 08:11:16 +10:00
David Reid 7533c9d341 Update build instructions for Emscripten test. 2026-04-26 08:10:43 +10:00
Yuri Khrustalev 56ffd77769 Make ma_android_sdk_version static to fix -Wmissing-prototypes. 2026-04-26 07:22:41 +10:00
amaldika 55f16e62f6 Support to build for arm64EC configuration on MSVC. 2026-04-26 07:21:35 +10:00
David Reid 1df46ae9a0 Update dr_libs. 2026-04-26 07:08:13 +10:00
David Reid 12bacf1186 Revert "Enforce a read callback to be specified for decoders."
This reverts commit 52d09d3688.
2026-03-13 11:22:40 +10:00
David Reid 117366df9a Fix an incorrect check for the decoding seek callback. 2026-03-12 06:24:04 +10:00
David Reid 0041150de0 Update change history. 2026-03-12 06:16:57 +10:00
David Reid 52d09d3688 Enforce a read callback to be specified for decoders. 2026-03-12 06:15:27 +10:00
David Reid 6922366bb1 Don't crash when a decoding seek callback is unavailable. 2026-03-12 06:14:00 +10:00
David Reid 4c082afe71 Clarify usage of the decoder read callback. 2026-03-12 06:08:27 +10:00
David Reid 9634bedb5b Version 0.11.25 0.11.25 2026-03-04 06:25:00 +10:00
David Reid b113d498a5 Update dr_wav. 2026-03-03 10:34:26 +10:00
David Reid 1078dc292a Add a safety check to ma_data_source_read_pcm_frames_within_range().
Public issue https://github.com/mackron/miniaudio/pull/1095
2026-02-15 08:11:57 +10:00
David Reid b33eb2ea4f Win32: Fix a bug in ma_dlopen() with the UWP build.
Public issue https://github.com/mackron/miniaudio/pull/1095
2026-02-15 08:05:02 +10:00
David Reid a6a7a76e6f Update change history. 2026-02-15 07:54:42 +10:00
David Reid 20c9f7fe0a Try fixing some warnings with newer versions of Emscripten.
Public issue https://github.com/mackron/miniaudio/pull/1097
2026-02-15 07:47:36 +10:00
David Reid ce05296055 Remove a TODO. 2026-02-15 07:40:08 +10:00
David Reid dec6c16539 Update social media links on website. 2026-01-20 06:16:43 +10:00
David Reid 13d161bc8d Update split version. 2026-01-18 06:05:35 +10:00
David Reid 347321b27c Version 0.11.24 0.11.24 2026-01-17 09:37:44 +10:00
David Reid da94cf2bc6 Update fs. 2026-01-17 09:34:51 +10:00
David Reid 8e6283aa31 Fix a warning. 2026-01-17 09:34:34 +10:00
David Reid d0b98eee6b Update change history. 2026-01-17 09:25:06 +10:00
David Reid 74912d525b Add SECURITY.md 2026-01-17 08:58:02 +10:00
Richard Keller a551f0e70b Free pa_context if connecting to PulseAudio fails. 2026-01-17 08:50:10 +10:00
David Reid 7dae981ad5 Add some helpers for resetting a sound after a fade and stop.
Public issue https://github.com/mackron/miniaudio/issues/714
2026-01-17 07:32:18 +10:00
David Reid 88776cedb7 Whitespace. 2026-01-10 08:49:12 +10:00
spevnev e00cee2af1 Cast tv_sec to 64-bit int before converting 2026-01-10 08:47:03 +10:00
David Reid 5ef2e1ec57 Update fs. 2026-01-07 18:19:59 +10:00