David Reid
fe31274720
CMake: Add support for MA_NO_THREADING to deviceio test.
2026-01-05 20:19:05 +10:00
David Reid
f3dfc97c2c
Fix a format selection bug in the PipeWire backend.
...
This was incorrectly choosing the wrong endian-specific sample format
when the endian.h header was not included. This commit switches to
runtime endian detection.
2026-01-05 20:18:35 +10:00
David Reid
6d906215f1
Move ma_is_little_endian() / ma_is_big_endian() into the public section.
2026-01-05 20:07:43 +10:00
David Reid
5c38d39141
Move architecture detection to the public section.
...
This can be useful for custom backends.
2026-01-05 20:06:49 +10:00
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