Commit Graph

4319 Commits

Author SHA1 Message Date
David Reid 3b0391ad44 Silence an assigned-but-not-used warning. 2026-01-07 16:43:49 +10:00
David Reid 61f1f8b457 Tighten up ma_context_get_backend_info(). 2026-01-07 16:37:59 +10:00
David Reid 5095548174 Merge branch 'dev' into dev-0.12 2026-01-07 15:37:03 +10:00
David Reid 5f3de510b2 Make ma_is_spatial_channel_position() a bit more robust.
This makes it less error prone when new channel positions are added to
the enum.
2026-01-07 12:36:18 +10:00
David Reid 53116ad6da Minor change to an enum to make it less error prone. 2026-01-07 12:31:03 +10:00
David Reid b83869eb09 Update the spatializer to require a listener when processing. 2026-01-07 12:24:30 +10:00
David Reid bedfd053cb Fix a bug in the gainer where a null pointer can be offset. 2026-01-07 12:13:18 +10:00
David Reid 32cc6d53cd Fix a possible null pointer dereference. 2026-01-07 12:08:20 +10:00
David Reid bd26454c26 Fix a possible null pointer dereference. 2026-01-07 12:07:25 +10:00
David Reid d791c16d8d Remove some redundant error checks. 2026-01-07 12:05:57 +10:00
David Reid 86d5f669e4 PipeWire: Comment out an unused function. 2026-01-07 11:10:21 +10:00
David Reid 4d9a66289d Merge branch 'dev' into dev-0.12 2026-01-07 10:33:30 +10:00
David Reid 8c4535c6c5 Fix a bug with sound node processing. 2026-01-07 10:33:13 +10:00
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