Commit Graph

4280 Commits

Author SHA1 Message Date
David Reid a29a3b81f3 Fix a crash when uninitializing a device in single-threaded mode. 2026-01-05 16:47:11 +10:00
David Reid d32cd3f843 Update dr_libs. 2026-01-05 16:08:58 +10:00
David Reid 4aa3d531b4 Fix a compilation warning. 2026-01-05 15:54:35 +10:00
David Reid bfe4b07da4 PipeWire: Fix some warnings. 2026-01-05 14:44:57 +10:00
David Reid 116a06fac7 Add ma_device_get_user_data(). 2026-01-05 09:41:20 +10:00
David Reid 0d94eb7da9 Have ma_node_graph_init() fail if a config is not specified.
The config is required for the channel count.
2026-01-05 09:37:46 +10:00
David Reid d3270d8bf1 Remove some unused members of ma_job. 2026-01-05 06:33:19 +10:00
David Reid 4e827fa977 Use consistent nomenclature for device backend wakeup callbacks.
It should be "wakeup" instead of "wake".
2026-01-05 06:05:17 +10:00
David Reid d5ce388d00 Merge branch 'dev' into dev-0.12 2026-01-04 15:07:52 +10:00
David Reid 88797e9dee Fix a double-uninit error with decoders.
Public issue https://github.com/mackron/miniaudio/issues/1080
2026-01-04 15:03:47 +10:00
David Reid ad85d0c3c4 Update dr_libs. 2026-01-04 14:37:14 +10:00
David Reid b717d19099 Update dr_libs. 2026-01-04 14:35:01 +10:00
David Reid 28d071766d CMake: Remove some superfluous error messages. 2026-01-03 15:06:50 +10:00
David Reid 70a3690499 CMake: Clean up the handling of SteamAudio. 2026-01-03 15:03:05 +10:00
David Reid 9128cbe35b CMake: Clean up the handling of libopus and libvorbis. 2026-01-03 15:02:21 +10:00
David Reid 44b39fe097 Rename SDL2 backend source files. 2026-01-03 13:56:40 +10:00
David Reid 3df99ce51d Rename the SDL backend to SDL2.
This distinction is needed because we'll be doing an SDL3 backend in the
future.
2026-01-03 13:50:48 +10:00
David Reid 23c3277754 OSS: Remove some redundant device status checks. 2026-01-03 13:39:38 +10:00
David Reid 66887aa114 Core Audio: Stop directly changing the device status to stopped. 2026-01-03 13:37:16 +10:00
David Reid f19d26a012 Win32: Clean up some runtime linking code. 2026-01-03 11:36:32 +10:00
David Reid 67389d29ec Remove an unnecessary COM initialization routine. 2026-01-03 11:20:10 +10:00
David Reid c314eb0fa5 Add a new errored status.
This allows a backend to put the device into an errored state to
indicate that it is no longer usable and needs to be reinitialized.
2026-01-03 11:01:46 +10:00
David Reid c64a5c7457 A rule change for stop notifications. 2026-01-03 07:16:26 +10:00
David Reid e81a11e725 DirectSound: Stop logging an error when stopping.
This would result in an error being logged when a capture device is
unplugged.
2026-01-03 07:16:09 +10:00
David Reid 3b2af39864 DirectSound: Fix an error when stopping the device.
If the capture side fails to stop it would result in the function
returning early thereby not giving the playback side a chance to also
stop which would result in a looping glitch.
2026-01-03 06:42:57 +10:00
David Reid 6048a9a73e Fix CMake script for the Emscripten build. 2026-01-02 17:49:26 +10:00
David Reid 53b4d6a4a0 Update build instructions for Emscripten example. 2026-01-02 15:51:35 +10:00
David Reid e78a86d30b Cleanup of the CMake script. 2026-01-02 15:50:15 +10:00
David Reid 46b2cdd0cf Improve SDL2 integration in the CMake script. 2026-01-02 14:44:26 +10:00
David Reid ce41f6cfc9 SDL2: Fix a compilation error due.
This is due to calling an internal miniaudio function.
2026-01-02 14:14:10 +10:00
David Reid da764a5a28 PipeWire: Fix an error when runtime linking is disabled. 2026-01-02 12:34:42 +10:00
David Reid e9fad62f44 Improve default device enumeration with the SDL2 backend. 2026-01-01 19:36:37 +10:00
David Reid d0392288c4 Remove an old device job thread object.
This was used by AAudio for dealing with rerouting, but with the new
backend architecture it is no longer needed.
2026-01-01 19:04:49 +10:00
David Reid a5ef023cee Remove some global variables.
These are replaced by functions. The problem is that declaring a
variable as MA_API will result in errors when it's declared as static.
2026-01-01 18:39:43 +10:00
David Reid 45c7a64299 Add support for device selection the deviceio test. 2026-01-01 15:58:37 +10:00
David Reid 1d308f69bc Add a basic single-threaded test to deviceio test. 2026-01-01 14:52:01 +10:00
David Reid db6bc371eb WebAudio: Remove dependency on -sASYNCIFY for the Audio Worklets path.
Public issue https://github.com/mackron/miniaudio/issues/863
2026-01-01 13:10:15 +10:00
David Reid 1f2e59548b Web Audio: Minor change for multi-threaded mode. 2026-01-01 10:47:39 +10:00
David Reid edc44cbcaa PipeWire: Optimization to multi-threaded mode. 2026-01-01 09:38:21 +10:00
David Reid 1d0a598485 Rename MA_THREADING_MODE_MULTITHREADED.
This not having an underscore while SINGLE_THREADED did was driving me
crazy.
2026-01-01 09:19:43 +10:00
David Reid ff9ff16341 CMake: Remove is_backend_enabled()
This is no longer necessary since we can just use MINIAUDIO_NO_[BACKEND]
as the standard way to check if a backend is enabled.
2025-12-31 20:25:11 +10:00
David Reid 7cbb204abb CMake: Experiment to make it easier to check if a backend is enabled. 2025-12-31 20:17:46 +10:00
David Reid 0e6eaae06b CMake: Don't compile the the PipeWire backend if device IO is disabled. 2025-12-31 19:34:58 +10:00
David Reid c6429bb866 Try fixing a CMake error. 2025-12-31 19:24:16 +10:00
David Reid 552cf613b3 PipeWire: Add support for disabling runtime linking. 2025-12-31 18:19:52 +10:00
David Reid 114b9594c1 PipeWire: Finish work on removing the SPA dependency. 2025-12-31 18:18:17 +10:00
David Reid e1dfc9d77f PipeWire: Remove dependency on spa_format_audio_raw_parse(). 2025-12-31 13:30:49 +10:00
David Reid d2a93567df PipeWire: Remove dependency on spa_pod_builder. 2025-12-31 09:04:00 +10:00
David Reid c67b29de38 PipeWire: More work on removing the SPA dependency. 2025-12-30 18:00:07 +10:00
David Reid 9ebc3efa95 PipeWire: First tentative step towards removing the SPA dependency. 2025-12-30 16:40:16 +10:00