David Reid
4bd8eb0aa0
WASAPI: Handle AUDCLNT_E_DEVICE_INVALIDATED.
...
When this is detected the device will be reinitialized. If this fails
the device will be put into an errored state and will become unusable.
2026-01-07 10:23:39 +10:00
David Reid
882d7329f9
Add getter functions for backend vtables.
2026-01-07 09:22:43 +10:00
David Reid
fd74d344c7
Merge branch 'dev' into dev-0.12
2026-01-06 19:32:41 +10:00
David Reid
27d2d6ac87
Add support for custom resamplers to sounds.
...
Public issue https://github.com/mackron/miniaudio/issues/965
2026-01-06 19:25:32 +10:00
David Reid
919a01ae4a
Use ma_resampler instead of ma_linear_resampler for sound nodes.
...
This is infrastructure work for supporting custom resamplers for the
pitching and Doppler effects for sounds.
Public issue https://github.com/mackron/miniaudio/issues/965
2026-01-06 18:37:05 +10:00
David Reid
065e6eadb5
Minor code rearrangement.
2026-01-06 18:18:16 +10:00
caturria
962d11b4ce
Resource manager can now have a custom resampler.
2026-01-06 18:13:57 +10:00
David Reid
5f3fc86f89
Merge branch 'dev' into dev-0.12
2026-01-06 16:29:55 +10:00
David Reid
b62249ceaf
Fix an infinite loop bug.
2026-01-06 16:29:42 +10:00
David Reid
25a137752a
Merge branch 'dev' into dev-0.12
2026-01-06 16:23:32 +10:00
David Reid
525b04db04
Make ma_sound node processing a bit more robust.
...
This removes the dependency on querying the required input frame count
from the resampler. This should in turn enable future work to support
custom resamplers.
Public issue https://github.com/mackron/miniaudio/issues/965
2026-01-06 16:11:35 +10:00
David Reid
fd89763b2a
Merge branch 'dev' into dev-0.12
2026-01-06 15:18:07 +10:00
David Reid
e93e1dbba1
Set up some infrastructure for improvements to ma_sound processing.
2026-01-06 15:15:43 +10:00
David Reid
97b2db8c42
Merge branch 'dev' into dev-0.12
2026-01-06 13:21:06 +10:00
David Reid
111d620c63
Fix some node timing errors.
...
This commit fixes a bug relating to nodes with a scheduled start/stop
time. Whether or not the node is considered started or stopped is being
incorrectly reported by `ma_node_get_state_by_time_range()`.
Another issue is fixed in `ma_node_read_pcm_frames()`, which is related
to the fix above, where the frame count can underflow thereby resulting
in a crash.
Public issue https://github.com/mackron/miniaudio/issues/969
2026-01-06 13:05:40 +10:00
David Reid
3b4e87848b
Fix a typo.
2026-01-06 10:11:16 +10:00
David Reid
35acd7a65b
Relocate the sound end callback to after the sound is stopped.
...
Public issue https://github.com/mackron/miniaudio/issues/1013
2026-01-06 10:05:36 +10:00
David Reid
83ef69a79a
CMake: Update an option description.
2026-01-06 09:07:43 +10:00
David Reid
524e3c2d06
Merge branch 'dev' into dev-0.12
2026-01-06 08:55:25 +10:00
David Reid
92fb865387
Update some comments.
2026-01-06 08:06:49 +10:00
François Hautier
c44ec3f46a
Better comment
2026-01-06 07:56:41 +10:00
François Hautier
8c3b213a7c
WebAudio: Try to fix a startup noise
2026-01-06 07:56:41 +10:00
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