Commit Graph

4638 Commits

Author SHA1 Message Date
David Reid 137298734e API CHANGE: Add an onSizeof callback to ma_data_source_vtable.
This should return the size of the implementations struct. For example,
`ma_decoder` would return `sizeof(ma_decoder)`.

This is in preparation for future work to support copying data sources.
2026-04-29 06:54:57 +10:00
David Reid 2cb46c7abd Whitespace. 2026-04-28 19:24:46 +10:00
David Reid 70d52e5eaa Simplify ma_allocation_callbacks_init_copy().
This returns the ma_allocation_callbacks object instead of a result
code.
2026-04-28 19:21:30 +10:00
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 a92139b686 Enable libvorbis and libopus decoding in the deviceio test. 2026-04-28 19:00:24 +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 72a6203849 Fix build errors with MA_NO_RUNTIME_LINKING. 2026-04-26 09:12:46 +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 1cd746c5a6 Fix Emscripten test. 2026-04-26 08:23:13 +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
David Reid 7533c9d341 Update build instructions for Emscripten test. 2026-04-26 08:10:43 +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 968a8045c0 Merge branch 'dev' into dev-0.12 2026-03-12 06:27:02 +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 a6cb08579e Add sizeof profiling test. 2026-03-05 17:58:09 +10:00
David Reid deda7e500f Alignment. 2026-03-05 17:50:34 +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 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 41a8ec6a8d Add XAudio options to the CMake script. 2026-03-01 07:24:36 +10:00
David Reid dea554dbb2 Minor rearrangement. 2026-03-01 07:22:06 +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