David Reid
d7802c3b14
API CHANGE: Remove decoding backend file initialization specializations.
...
This removes the onInitFile and onInitFileW callbacks from
ma_decoding_backend_vtable. This means decoding backends can no longer
implement a specialized initialization routine for loading from a file.
What this does is enforces all file IO to go through the same code path,
that being the `ma_decoder` and `ma_vfs` infrastructure. It also
simplifies the backend vtable.
The ability to initialize from memory (the onInitMemory callback) is
still available and there are not plans to remove this.
2026-04-28 19:07:23 +10:00
David Reid
77074f0597
API CHANGE: Add an onUninit callback to ma_data_source_vtable.
...
This callback to execute the data source's uninitialization routine.
2026-04-28 17:27:31 +10:00
David Reid
3e729e4b28
Make some APIs public.
...
This makes the following APIs public:
ma_allocation_callbacks_init_default()
ma_allocation_callbacks_init_copy()
This is required to allow things like custom data sources and backends
to be able to track allocation callbacks if necessary.
2026-04-28 17:25:23 +10:00
David Reid
b5732f515a
API CHANGE: Update ma_noise_uninit().
...
This removes the allocations callback parameter. It is no managed
internally in preparation for some changes to data source management.
2026-04-28 17:23:16 +10:00
David Reid
52f22d6597
API CHANGE: Update ma_node_graph_uninit().
...
This removes the allocation callbacks parameter. These are now managed
internally. This is in preparation for some future changes to data
source management.
2026-04-28 17:20:31 +10:00
David Reid
44323c9cae
API CHANGE: Rename data source init and uninit APIs.
...
These have been renamed to the following:
ma_data_source_init > ma_data_source_base_init
ma_data_source_uninit > ma_data_source_base_uninit
The new naming scheme makes it clearer that you're initializing the
base data source structure.
2026-04-28 16:24:22 +10:00
David Reid
a267a4ca65
Merge branch 'dev' into dev-0.12
2026-04-26 18:56:20 +10:00
David Reid
09615e6bc1
Update c89atomic.
2026-04-26 18:56:05 +10:00
David Reid
3841d2858d
Merge branch 'dev' into dev-0.12
2026-04-26 11:55:23 +10:00
David Reid
12a83fcf54
Update dr_wav.
2026-04-26 11:55:12 +10:00
David Reid
dad1060489
PipeWire: Clean up to runtime linking.
...
This will cleanly fail when a required entry point is unavailable.
Public issue https://github.com/mackron/miniaudio/issues/1104
2026-04-26 09:18:26 +10:00
David Reid
4635de9916
Merge branch 'dev' into dev-0.12
2026-04-26 08:33:38 +10:00
David Reid
2986173662
Emscripten: Fix an error with ALLOW_MEMORY_GROWTH.
...
Public issue https://github.com/mackron/miniaudio/issues/1114
2026-04-26 08:32:28 +10:00
David Reid
07c4ae67cf
Merge branch 'dev' into dev-0.12
2026-04-26 08:22:51 +10:00
Echo J
dcfc24c100
Emscripten: Cast pointer arguments to pointer-sized integers
...
For some reason, 64-bit pointer arguments are casted to Numbers
in Emscripten's type handling (which causes conversion errors when
passing them back to native code)
2026-04-26 08:11:16 +10:00
Yuri Khrustalev
56ffd77769
Make ma_android_sdk_version static to fix -Wmissing-prototypes.
2026-04-26 07:22:41 +10:00
amaldika
55f16e62f6
Support to build for arm64EC configuration on MSVC.
2026-04-26 07:21:35 +10:00
David Reid
5d8e72d54f
Merge branch 'dev' into dev-0.12
2026-04-26 07:15:52 +10:00
David Reid
1df46ae9a0
Update dr_libs.
2026-04-26 07:08:13 +10:00
David Reid
c64330dbd9
Clean up some stale comments.
2026-04-20 06:05:31 +10:00
David Reid
a513b522ab
Dreamcast: Increase lower bound period size from 1024 to 1536.
...
Testing on real hardware is suggesting that 1024 is too small to be
practical.
2026-04-06 12:03:00 +10:00
David Reid
b91098312d
Minor chibicc fix.
...
This commit does not make miniaudio compilable with chibicc. Additional
work is required in c89atomic which will come later.
2026-03-15 08:55:36 +10:00
David Reid
d50152e382
Update dr_mp3.
2026-03-15 08:50:40 +10:00
David Reid
d654ce32a7
Merge branch 'dev' into dev-0.12
2026-03-13 11:23:26 +10:00
David Reid
12bacf1186
Revert "Enforce a read callback to be specified for decoders."
...
This reverts commit 52d09d3688 .
2026-03-13 11:22:40 +10:00
David Reid
117366df9a
Fix an incorrect check for the decoding seek callback.
2026-03-12 06:24:04 +10:00
David Reid
ed950dc688
Merge branch 'dev' into dev-0.12
2026-03-12 06:22:48 +10:00
David Reid
0041150de0
Update change history.
2026-03-12 06:16:57 +10:00
David Reid
52d09d3688
Enforce a read callback to be specified for decoders.
2026-03-12 06:15:27 +10:00
David Reid
6922366bb1
Don't crash when a decoding seek callback is unavailable.
2026-03-12 06:14:00 +10:00
David Reid
4c082afe71
Clarify usage of the decoder read callback.
2026-03-12 06:08:27 +10:00
David Reid
df6119890e
Merge branch 'dev' into dev-0.12
2026-03-04 07:01:18 +10:00
David Reid
9634bedb5b
Version 0.11.25
2026-03-04 06:25:00 +10:00
David Reid
b113d498a5
Update dr_wav.
2026-03-03 10:34:26 +10:00
David Reid
bc52a82903
Add PS Vita backend.
2026-03-01 07:53:00 +10:00
David Reid
d7ce0506f6
Fix a minor copy/paste error.
2026-03-01 07:26:20 +10:00
David Reid
e552fd20cf
Add a PS Vita optimized threading backend.
...
This addresses an issue where condition variables would throw the
following error:
_sceKernelWaitSema returned SCE_KERNEL_ERROR_WAIT_TIMEOUT (0x80028005)
Bypassing the pthread backend and using Vita APIs directly addresses
this and should be more optimal.
2026-02-28 19:53:38 +10:00
David Reid
69396f97a7
Fix a threading issue with PS Vita.
2026-02-28 17:08:37 +10:00
David Reid
bc69c86868
XAudio: Fix an error with device enumeration.
2026-02-27 18:03:23 +10:00
David Reid
8b3ae59b40
Dreamcast: Fix an error with device enumeration.
2026-02-27 18:03:05 +10:00
David Reid
bcdb37ff66
Add Vita SDK detection.
2026-02-27 16:34:44 +10:00
David Reid
7d703e60ab
Use N3DS nomenclature instead of 3DS in preparation for future work.
2026-02-27 16:08:08 +10:00
David Reid
30e2ca2b46
Add XAudio backend.
...
This adds support for the original Xbox via NXDK.
2026-02-27 10:58:24 +10:00
David Reid
c580fad1dd
Fix NXDK build.
2026-02-23 17:17:13 +10:00
David Reid
4c81dbd81f
Add ma_device_get_period_size_in_frames().
2026-02-22 06:31:48 +10:00
David Reid
7700880b56
Don't unnecessarily apply clipping.
2026-02-20 17:23:42 +10:00
David Reid
0e2c0e1eac
Fix an edge case in the data converter.
2026-02-20 09:18:25 +10:00
David Reid
a3fd69624b
Fix a bug in ma_data_converter_set_rate().
...
This was not setting the sample rate members of the ma_data_converter
struct.
2026-02-20 08:51:39 +10:00
David Reid
d39c874736
Bug fixes to the resampler.
2026-02-20 08:46:00 +10:00
David Reid
0aef190a59
Resampler: Improve stability when ratio is 1.
2026-02-18 13:01:20 +10:00