David Reid
c366358ed6
Try fixing a possible Emscripten error with the deviceio test.
2025-08-21 18:16:46 +10:00
David Reid
747faa3390
Fix some errors with the Emscripten build.
2025-08-21 18:01:06 +10:00
David Reid
ca3ba8c1a8
Update CMake script to relax build options for examples.
...
This makes it so examples don't throw annoying warnings, that in order
to fix, would require making the example code unnecessarily untidy.
2025-08-21 15:35:32 +10:00
David Reid
cb95cd6521
Force silence a warning in an example.
2025-08-21 14:47:11 +10:00
David Reid
b37530fdd6
Merge branch 'dev' into dev-0.12
2025-08-21 14:34:11 +10:00
David Reid
b1893aa8f1
Minor C89 compatibility fix.
2025-08-21 14:33:52 +10:00
David Reid
df4baf8d40
Fix some errors.
2025-08-21 14:24:21 +10:00
David Reid
21237008df
Silence some errors in the Steam Audio headers.
2025-08-21 14:23:31 +10:00
David Reid
7263de3b64
Delete the PipeWire test.
...
The PipeWire backend is now tested with the deviceio test.
2025-08-21 14:18:58 +10:00
David Reid
26a1566cb2
Fix some errors.
2025-08-21 14:09:22 +10:00
David Reid
df0358c870
Merge branch 'dev' into dev-0.12
2025-08-21 14:09:02 +10:00
David Reid
587bd83cbb
Update fs and fix some build errors with -std=c89.
2025-08-21 13:57:57 +10:00
David Reid
0204c7d788
Fix a compatibility error with va_copy().
2025-08-21 12:56:20 +10:00
David Reid
e826957a12
Disable the PipeWire backend when compiling as C89.
...
The SPA headers are not compatible with C89 which means the PipeWire
backend is not usable.
2025-08-21 07:33:08 +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
f86be65f19
Merge branch 'dev' into dev-0.12
2025-08-20 18:15:54 +10:00
David Reid
b7e5451ef4
Try fixing a compilation error when pthread does not exist.
2025-08-20 18:07:59 +10:00
David Reid
ba84e61a18
Try fixing a compilation error when libatomic does not exist.
2025-08-20 18:03:12 +10:00
David Reid
a7ab58259e
Don't try building C++ tests when forcing C89.
2025-08-20 17:36:07 +10:00
David Reid
7f2f0a5a36
Fix a C89 error.
2025-08-20 16:56:04 +10:00
David Reid
5eb78ec819
Merge branch 'dev' into dev-0.12
2025-08-20 16:40:57 +10:00
David Reid
18055f34bb
voclib: Fix a compilation error.
2025-08-20 16:40:46 +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
f6bae251bd
verblib: Try fixing a compilation error on macOS.
2025-08-20 16:09:44 +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
6e1cd41622
tests: fix memory leak in filtering and generation tests
2025-08-19 08:26:22 +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
78cdb9c1cb
Add batch file for setting up DJGPP environment.
2025-08-07 17:44:55 +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
David Reid
e9e8f90137
Fix an error when setting loop points.
...
Public issue https://github.com/mackron/miniaudio/issues/1019
2025-08-07 16:20:00 +10:00