Commit Graph

4199 Commits

Author SHA1 Message Date
David Reid 5eafc0e9c1 Merge branch 'dev' into dev-0.12 2025-12-23 19:07:52 +10:00
David Reid 364844231d Fix an bug with error recovery when failing to initialize a decoder.
Public issue https://github.com/mackron/miniaudio/issues/1080
2025-12-23 19:04:53 +10:00
David Reid 631bc047d8 Minor C89 compatibility fix. 2025-12-23 14:47:48 +10:00
David Reid bd35758b87 AAudio: Try fixing a glitch when starting a device.
This is only happening when the device is started after being stopped.
The initial start does not glitch.
2025-12-23 13:08:39 +10:00
David Reid 737fb79aae AAudio: Simplify device rerouting.
This now does rerouting in the step which runs on the audio thread,
which is the same thread that init, uininit, start and stop runs on, and
no longer goes through the job system.
2025-12-23 10:17:38 +10:00
David Reid fd6ee4711b Generalize some backend stepping logic for the new backend architecture. 2025-12-22 17:10:03 +10:00
David Reid e6922b360c Minor refactor the AAudio backend. 2025-12-22 13:41:37 +10:00
David Reid 1bb2180005 Minor refactor the OpenSL backend. 2025-12-22 11:50:53 +10:00
David Reid e598eb7fe6 Minor refactor to the null backend. 2025-12-22 11:50:44 +10:00
David Reid 9364a36f04 Whitespace. 2025-12-20 18:22:00 +10:00
David Reid ad7084c9ef SDL2: Add wakeup callback. 2025-12-20 18:21:31 +10:00
David Reid 2f18c53771 PipeWire: Fix a bug with non-blocking mode. 2025-12-20 14:27:29 +10:00
David Reid e97ab1ef32 Another pass on the PipeWire backend.
This removes the "wait" concept and replaces it with an extra parameter
for the step() callback for the blocking mode, which can be blocking or
non-blocking.

This also implements the wake() callback for waking up from a blocking
step.
2025-12-20 12:40:10 +10:00
David Reid d6487d0569 Make ma_blocking_mode public in preparation for some changes. 2025-12-17 07:34:51 +10:00
David Reid 6931d7d159 Cleanup. 2025-12-17 07:34:31 +10:00
David Reid 38a543caa4 Try fixing some glitching with the AAudio backend. 2025-12-17 06:46:50 +10:00
David Reid 60d757a226 Return result codes from step/wait/loop callbacks. 2025-12-16 18:08:32 +10:00
David Reid df79b33aeb Update the JACK backend to the new backend architecture. 2025-12-16 18:02:13 +10:00
David Reid 9d2c943862 Update OpenSL backend to the new backend architecture. 2025-12-14 17:34:07 +10:00
David Reid 4151c05973 Update AAudio backend to the new backend architecture. 2025-12-14 16:08:44 +10:00
David Reid 442e9f4db8 Merge branch 'dev' into dev-0.12 2025-12-14 06:48:16 +10:00
David Reid 9ea38e9f3a Update dr_wav and dr_flac. 2025-12-14 06:38:32 +10:00
David Reid af19bdb6ff Fix a bug where MA_NO_DECODING would disable the WAV encoder.
Public issue https://github.com/mackron/miniaudio/issues/1076
2025-12-13 17:26:06 +10:00
Marty f513f462df cmake: add public include directories for extra decoders
It seems that when linking, for example, `miniaudio_libvorbis`, it doesn't add the necessary include directories for use in the project. This is because the include directories were not being added to the target at all.

Here, I fix that by adding them with PUBLIC scope.
2025-12-12 19:12:13 +10:00
David Reid 4f4f93a91b Finish first pass of the PipeWire backend. 2025-12-12 14:39:03 +10:00
David Reid 0c41e62827 Make timing functions public for the benefit of custom backends. 2025-12-04 08:52:17 +10:00
David Reid 2f759f7b62 Convert the SDL2 backend to the new backend architecture. 2025-12-01 10:46:59 +10:00
David Reid 97441567fa Fix a typo. 2025-12-01 05:58:55 +10:00
David Reid 248f27b6e2 Remove an unnecessary comment. 2025-11-30 19:47:50 +10:00
David Reid fc677beac9 Add SDL2 and PipeWire logs to deviceio test. 2025-11-30 19:47:33 +10:00
David Reid ac7a8e691b Fix C++ build of the PipeWire backend. 2025-11-30 19:46:52 +10:00
David Reid 1c5e2400ce Fix an error when stopping a device.
Public issue https://github.com/mackron/miniaudio/pull/1055
2025-11-30 06:34:04 +10:00
Guillaume Prieur 1f717d6ba7 Remove object references in coreaudio context state that are for apple desktop only in other builds 2025-11-30 06:02:48 +10:00
Guillaume Prieur b41a7eabe7 Add missing result declaration 2025-11-30 06:02:10 +10:00
David Reid 477020295a Merge branch 'dev' into dev-0.12 2025-11-30 06:01:16 +10:00
David Reid 8c1dc255db Remove Cosmopolitan pre-processing checks.
https://github.com/mackron/miniaudio/pull/1070
2025-11-30 05:39:49 +10:00
David Delassus dbf8e114f9 CMake: make install directives optional 2025-11-29 14:42:38 +10:00
Louis du Verdier 6d65be5e0e Do not set POSIX thread scheduler policy on systems reporting that they do not support it 2025-11-29 14:20:45 +10:00
Kjetil Berg 6a895501cf Fix: exclude Emscripten from ALSA support check on Linux 2025-11-29 08:58:30 +10:00
David Reid 787318fd8f Update dr_wav and dr_mp3. 2025-11-29 08:36:33 +10:00
David Reid 4a8467852a Fix a shadow declaration warning.
Public issue https://github.com/mackron/miniaudio/issues/1059
2025-11-29 08:34:40 +10:00
David Reid 80cf7b2deb Update dr_flac.
Public issue https://github.com/mackron/miniaudio/issues/1050
2025-09-28 08:10:20 +10:00
David Reid 2db0984566 Fix a possible crash in the resource manager.
This code was prematurely freeing a data buffer node which was resulting
in a dereference of an invalid pointer.
2025-09-27 12:34:21 +10:00
David Reid 1d6b3c6a0f Merge branch 'dev' into dev-0.12 2025-09-24 16:05:30 +10:00
David Reid 669ed3e844 Update dr_mp3. 2025-09-24 16:04:56 +10:00
David Reid c32d2d0e29 Merge branch 'dev' into dev-0.12 2025-09-19 13:03:34 +10:00
David Reid 81410769ae Update c89atomic.
There was a stray line continuation in a macro which was resulting in an
error with MSVC.
2025-09-19 13:03:10 +10:00
David Reid 48d7493c58 Merge branch 'dev' into dev-0.12 2025-09-19 12:48:11 +10:00
David Reid ffe558437f Update change history. 2025-09-19 12:47:58 +10:00
David Reid 089f041120 Update c89atomic.
Public issue https://github.com/mackron/miniaudio/issues/1045
2025-09-19 12:46:50 +10:00