Commit Graph

2241 Commits

Author SHA1 Message Date
David Reid b3c6bcec39 Update change history and version number. 2025-09-14 07:39:08 +10:00
David Reid ed2c5270c8 Fix a typo. 2025-09-14 07:36:30 +10:00
Michael Müller 3dfcefc75b Fix access to miniaudio in ma_context_uninit__webaudio. 2025-09-14 07:26:31 +10:00
David Reid 63485c2e7d Merge branch 'dev' into dev-0.12 2025-09-11 09:30:16 +10:00
David Reid f40cf03f80 Version 0.11.23 2025-09-11 06:46:45 +10:00
David Reid 3afbdef285 Update dr_libs. 2025-09-10 18:56:36 +10:00
David Reid 9a091f73aa Fix an undefined behavior error in the s16 to s32 conversion routine. 2025-09-10 15:06:34 +10:00
David Reid 87bae56937 Fix typos in the documentation. 2025-09-10 13:18:58 +10:00
David Reid c3245ee3ca Merge branch 'dev' into dev-0.12 2025-09-10 09:53:01 +10:00
spevnev 9e1f02b12a Fix unsigned offset overflow 2025-09-10 06:44:31 +10:00
David Reid fa84240364 Fix a typo. 2025-09-09 17:27:25 +10:00
David Reid 8030f3bf7b Merge branch 'dev' into dev-0.12 2025-08-23 09:54:51 +10:00
David Reid ea59076ba9 Try fixing a warning with MA_FALLTHROUGH. 2025-08-23 08:33:53 +10:00
David Reid 5384cfaf12 Merge branch 'dev' into dev-0.12 2025-08-23 08:11:38 +10:00
David Reid f48d903526 WASAPI: Add a missing field to ma_AudioClientProperties.
Public issue https://github.com/mackron/miniaudio/issues/1028
2025-08-23 06:46:09 +10:00
David Reid 3bdd39fd2c Make some sound functions const.
Public issue https://github.com/mackron/miniaudio/issues/990
2025-08-23 06:20:08 +10:00
David Reid 5221ee1858 Comment out an unused function. 2025-08-22 12:49:14 +10:00
David Reid 0c245dd597 Fix the Android build. 2025-08-22 11:58:53 +10:00
David Reid 8c08e14119 Comment out an unused function. 2025-08-22 11:29:17 +10:00
David Reid d522c8a017 Fix some warnings with the Android build. 2025-08-22 11:22:14 +10:00
David Reid cac5825182 Remove an unused variable. 2025-08-22 11:17:43 +10:00
David Reid 125e300c69 Fix a type mismatch error. 2025-08-22 11:15:45 +10:00
David Reid fa031e75fd Silence some pedantic warnings with Emscripten. 2025-08-22 09:47:16 +10:00
David Reid 0204c7d788 Fix a compatibility error with va_copy(). 2025-08-21 12:56:20 +10:00
David Reid f6453a1418 Add ma_get_stock_device_backends().
This commit many warnings when compiling as C89.
2025-08-21 07:27:42 +10:00
David Reid c3132cb703 Fix a couple of warnings on the Emscripten build. 2025-08-20 19:20:23 +10:00
David Reid 7f2f0a5a36 Fix a C89 error. 2025-08-20 16:56:04 +10:00
David Reid 47f08262a0 For a C89 error. 2025-08-20 16:36:53 +10:00
David Reid 415c50e2f5 Fix a -Wpedantic warning. 2025-08-20 16:12:10 +10:00
David Reid db38f0b003 Merge branch 'dev' into dev-0.12 2025-08-20 16:09:58 +10:00
David Reid 3567d5cfef Fix compilation error with MA_NO_SSE2. 2025-08-20 16:04:15 +10:00
David Reid 4e3b778c62 Silence some warnings about unused functions. 2025-08-20 15:56:43 +10:00
David Reid ba35370f74 Merge branch 'dev' into dev-0.12 2025-08-19 08:32:35 +10:00
David Reid 6315130ec6 Make ma_lcg.state uint32 to avoid UB on signed arthimethic overflow 2025-08-19 08:32:06 +10:00
David Reid 62c10ddd58 Fix an error with duplex mode for the new null backend. 2025-08-15 06:10:34 +10:00
David Reid d0af92764f Big simplification to the null backend.
This is the first backend to experiment with the new wait/step backend
model which, if it works out, will allow miniaudio to work in a single
threaded mode which in turn will open up the opportunity for
applications to have greater control over thread management and to
possibly allow miniaudio to work on single threaded systems like DOS.
2025-08-14 17:32:45 +10:00
David Reid 59566edddf Some fixes to the audio thread. 2025-08-11 15:53:32 +10:00
David Reid 3f3353ee39 Remove an unused variable. 2025-08-11 15:39:47 +10:00
David Reid a1bee2c673 Get device IO APIs compiling with MA_NO_THREADING.
This is only concerned with getting miniaudio compiling. As of this
commit, device IO will not actually work with this option enabled.
2025-08-11 11:45:09 +10:00
David Reid 10700ec157 Address some MA_NO_THREADING compatibility with ma_device. 2025-08-11 08:57:46 +10:00
David Reid 9b6e9b6985 Remove some now unused code. 2025-08-11 08:08:59 +10:00
David Reid 5db8fe5094 Make it so backend start/stop callbacks are fired from the audio thread. 2025-08-11 07:58:33 +10:00
David Reid 87dee0e20c Some cleanup to the new audio thread. 2025-08-11 06:47:49 +10:00
David Reid fa5f282d65 Throw down some early work for some backend refactoring.
This is still heavily WIP and should be considered unstable as of this
commit.

This is the foundation work for getting all device backend callbacks
executing from a single thread. This will not include context related
callbacks, nor the wakeup callback.

Once this work is done, backends can rely on the property that all the
main callbacks, except wakeup, will be executed from the same thread.
Where this is particularly useful is thread hostile backends like
WASAPI. In particular, we'll be able to do isolate the initialization of
COM to only the miniaudio-managed thread which make it easier to use
miniaudio alongside frameworks which do their own COM initialization,
such as Qt.
2025-08-10 17:38:18 +10:00
David Reid fc15cc66ed Minor code rearrangement to reflect correct backend prioritization. 2025-08-08 06:41:40 +10:00
David Reid a9bdbc3033 Update backend priority order in documentation. 2025-08-07 19:23:22 +10:00
David Reid e6483d8bd9 Add some fallback stubs for threading APIs.
These will be used when a platform lacks any kind of threading support,
such as DOS. This is in preparation for future work to allow the device
API to work without threading support.

With this commit, the DJGPP DOS build can be compiled without
`MA_NO_THREADING`.
2025-08-07 19:16:02 +10:00
David Reid 08b8fcd4c6 Fix timing functions with the DJGPP build. 2025-08-07 19:12:43 +10:00
David Reid 0923a484ee Merge branch 'dev' into dev-0.12 2025-08-07 18:00:40 +10:00
David Reid 1ea69211ad Fix some errors with the DJGPP build.
This forces `MA_NO_THREADING` and `MA_NO_RUNTIME_LINKING`.

The DOS/DJGPP build currently requires `MA_NO_DEVICE_IO`.
2025-08-07 17:44:19 +10:00