Commit Graph

1608 Commits

Author SHA1 Message Date
Jeffrey Poore 4514a71bab fixed a little problem with changing devices when initialized our device config as duplex; fixed typos 2022-11-18 12:31:01 +11:00
David Reid 4f8e8de301 Migrate atomics from ma_device to new atomics system. 2022-11-14 16:43:16 +10:00
David Reid 84e911726c Introduce new safe atomic types.
The idea behind this is to avoid subtle bugs that are a result of
accidentally not using atomic operations to reference variables that
must always be used atomically.

This commit does not convert every atomic variable to the new system,
however going forward this will need to be adopted over time.
2022-11-13 12:05:32 +10:00
David Reid 4f7f00d76a Fix a crash due to a race condition in the resource manager. 2022-11-13 11:23:27 +10:00
David Reid 1fe10429e1 Update c89atomic. 2022-11-09 12:32:59 +10:00
David Reid cbae25fca3 Update c89atomic in preparation for some changes to atomics. 2022-11-09 10:59:09 +10:00
David Reid a0dc1037f9 Version 0.11.11 2022-11-04 11:46:15 +10:00
David Reid 0d52a2cb6a Update some documentation regarding risk of name collisions. 2022-11-04 11:39:02 +10:00
David Reid 3ecf5f53f1 WASAPI: Reduce spamming of some debug messages.
Public issue https://github.com/mackron/miniaudio/issues/572
2022-11-01 10:16:47 +10:00
David Reid d2bd8ffced WASAPI: Rework the data discontinuity recovery logic.
Public issue https://github.com/mackron/miniaudio/issues/572
2022-10-31 09:35:59 +10:00
David Reid b72567d8f2 Add some additional debugging logs.
Public issue https://github.com/mackron/miniaudio/issues/572
2022-10-30 08:41:28 +10:00
David Reid bec0aa748c Remove references to ccall() from the Emscripten build.
Public issue https://github.com/mackron/miniaudio/issues/569
2022-10-21 17:02:59 +10:00
David Reid c3dbcc5717 Try improving Android detection.
Issue from raylib: https://github.com/raysan5/raylib/issues/2118
2022-10-21 09:44:43 +10:00
David Reid 1778a5e839 Version 0.11.10 2022-10-20 11:39:26 +10:00
David Reid 89875c2bef Fix the VC6 build. 2022-10-20 11:09:18 +10:00
David Reid d5b57e66af Update WAV, MP3 and FLAC decoders. 2022-10-20 10:33:50 +10:00
David Reid 779edf2b10 Fix a compilation error with newer versions of MSVC.
Public issue https://github.com/mackron/miniaudio/issues/567
2022-10-20 10:28:16 +10:00
David Reid 7a09385782 Rename a function for clarity. 2022-10-20 10:26:56 +10:00
Fabio Arnold dde7961a71 WebAudio: check if window is defined before accessing it
In certain environments (WebWorkers for instance) `window` is undefined. Accessing it will lead to an `Uncaught ReferenceError` that can't be handled by the calling C code. That's why I added a check that will return 0 in such case.
2022-10-13 08:44:06 +11:00
David Reid c1a26a8454 Try silencing a sanitization warning.
Public issue https://github.com/mackron/miniaudio/issues/550
2022-10-11 12:47:37 +10:00
David Reid d33b571c95 Fix some sanitization warnings.
Public issue https://github.com/mackron/miniaudio/issues/550
2022-10-11 12:35:01 +10:00
David Reid 82ca2e169e Add some asserts. 2022-10-11 12:19:57 +10:00
David Reid c6d04d66a3 Revert "Fix a bug with the wet/dry parameters in the delay effect."
This reverts commit f9492ecf7a.
2022-10-07 19:50:15 +10:00
David Reid f9492ecf7a Fix a bug with the wet/dry parameters in the delay effect.
Public issue https://github.com/mackron/miniaudio/discussions/547
2022-10-02 13:26:07 +10:00
cubeleo 5b90f7b72b CoreAudio: Improved OS version check. 2022-09-17 18:31:45 +10:00
cubeleo ffe5f2cd77 CoreAudio: Updated a deprecated symbol.
kAudioObjectPropertyElementMaster was deprecated in macOS 12.0 and iOS 15.0 and replaced with kAudioObjectPropertyElementMain.
2022-09-17 18:31:45 +10:00
David Reid 40a85d18f6 Fix logging of device info for loopback devices. 2022-09-17 17:51:21 +10:00
David Reid 394d31577f Another attempted fix for process loopback mode.
Public issue https://github.com/mackron/miniaudio/issues/484
2022-09-10 09:41:53 +10:00
David Reid 24950dc14f Fix the C++ build. 2022-09-10 09:02:45 +10:00
David Reid b8bb19eb08 Minor platform detection fix for ma_dlopen(). 2022-09-09 16:45:25 +10:00
David Reid 44ea01c0ab Add runtime linking for mmdevapi and ActivateAudioInterfaceAsync() 2022-09-09 15:18:50 +10:00
David Reid 3638d5a835 Add MA_FORCE_UWP to force the UWP build. 2022-09-09 14:31:57 +10:00
David Reid dc5d99462d Fix some errors and warnings with the UWP build. 2022-09-09 14:17:23 +10:00
David Reid ceaa0df09b WASAPI: Fix an error with device reinitialization and loopback mode. 2022-09-09 10:49:15 +10:00
David Reid c299c0f113 Add a clarifying comment. 2022-09-09 10:46:45 +10:00
David Reid 193abde820 WASAPI: Add some logging for loopback mode. 2022-09-09 10:44:50 +10:00
David Reid 543a7ed991 WASAPI: Use the correct virtual device for process-specific loopback.
Public issue https://github.com/mackron/miniaudio/issues/484
2022-09-09 10:07:09 +10:00
David Reid b215b8e473 WASAPI: Mark some loopback related config properties as experimental. 2022-09-09 08:07:18 +10:00
David Reid 05066e7163 WASAPI: Add support for process-specific loopback capture.
Public issue https://github.com/mackron/miniaudio/issues/484
2022-09-08 11:39:55 +10:00
David Reid 79179703e4 WASAPI: Try fixing an issue with loopback mode.
Public issue https://github.com/mackron/miniaudio/issues/533
2022-09-06 14:42:32 +10:00
David Reid ddbc5768a6 ALSA: Fix a potential crash on older versions of Linux.
Public issue https://github.com/mackron/miniaudio/issues/532
2022-09-04 08:28:03 +10:00
Fabio Arnold b8b3affa1b webaudio: Count references to window.miniaudio 2022-09-03 17:12:23 +10:00
Fabio Arnold f466414fd2 webaudio: Remove miniaudio from window on uninit 2022-09-03 17:12:23 +10:00
Jan Polák be32dc0e04 Fix UB when there are no audio devices
When there are no capture nor playback devices, pContext->pDeviceInfos
is NULL and pContext->playbackDeviceInfoCount is 0.
Unfortunately, any arithmetic on NULL is UB, including trivial +0,
which triggers UB sanitizer. This can lead to crashes,
for example when compiling with Zig, which enables UBsan by default.
2022-09-03 08:35:40 +10:00
David Reid 0c92dac883 Experiment with some sectioning for ease of navigation and tooling. 2022-09-02 11:02:47 +10:00
David Reid ef737641de PulseAudio: Add a null pointer check for safety.
Public issue https://github.com/mackron/miniaudio/issues/527
2022-08-29 09:57:35 +10:00
David Reid 93e1755e37 Add support for more than 2 outputs to splitter nodes. 2022-08-29 07:34:34 +10:00
David Reid cf15442818 Fix a typo. 2022-08-25 09:47:58 +10:00
David Reid 7fd70cf511 Remove a redundant sentence in the documentation. 2022-08-25 09:46:55 +10:00
David Reid 3d4ab9d9f0 iOS: Try to improve the default session category. 2022-08-20 09:33:42 +10:00