David Reid
0bc91256d6
Remove redundant check.
2021-06-09 17:26:08 +10:00
David Reid
cde21de5c5
Fix a bug introduced in an earlier commit.
2021-06-09 17:18:02 +10:00
David Reid
59565c03ad
Fix a subtle memory leak.
2021-06-08 21:21:20 +10:00
David Reid
1bb4bc690e
Remove some old code.
2021-06-08 21:14:30 +10:00
David Reid
70d74c9d61
Fix a bug where sometimes a notification never gets signalled.
2021-06-08 21:05:21 +10:00
David Reid
5c26709fa7
Fix some subtle memory leaks with async decoding.
...
This was happening specifically when uninitializing a data buffer while
it's still loading asynchronously.
2021-06-08 20:14:18 +10:00
David Reid
f0864a1c93
Fix an incorrect assert.
2021-06-07 19:39:11 +10:00
David Reid
70add6c146
Fix an infinite loop when decoding via the resource manager.
2021-06-07 18:45:52 +10:00
David Reid
24495afeaa
Enable experimental features on the engine test.
2021-06-06 07:50:02 +10:00
David Reid
b2cabfbe8d
Properly respect the WAIT_INIT flag.
2021-06-06 07:16:09 +10:00
David Reid
7d00be85d7
Finish refactoring work for resource managed data buffers.
...
This properly decouples data buffer nodes from data buffers and should
address some subtle bugs, especially with uninitializing data buffers
while they're still loading.
This also cleans up the decoding code, in particular by avoiding some
duplicate code between the synchronous and asynchronous decoding paths.
2021-06-05 18:47:35 +10:00
David Reid
c1021acd83
Fix compilation error.
2021-06-02 18:20:31 +10:00
David Reid
f0a8ea3a76
Merge branch 'gh-301' into dev
2021-06-02 17:28:13 +10:00
David Reid
3c4b0d2e71
Code cleanup in preparation for some refactoring.
2021-05-30 12:39:59 +10:00
David Reid
d5c27dde7a
Fix a bug due to a bad use of an atomic.
2021-05-30 08:21:52 +10:00
David Reid
328f84c267
Fix some comments.
2021-05-29 20:10:04 +10:00
David Reid
2257ce7b56
Standardize and simplify some APIs.
2021-05-29 18:16:34 +10:00
David Reid
7d0106346b
Fix a subtle atomicity bug in the engine.
2021-05-29 15:27:30 +10:00
David Reid
57a107db20
Add support for loop points to ma_data_source.
...
The loop points are specified relative to the range, and will be
clamped as such.
2021-05-29 15:27:06 +10:00
David Reid
c47fcebc85
Fix an infinite loop in the resource manager.
2021-05-29 08:38:01 +10:00
David Reid
8f40d5cd87
Fix an atomicity bug.
2021-05-28 18:06:53 +10:00
David Reid
3542cd26e9
Update c89atomic.
2021-05-27 19:39:46 +10:00
David Reid
9c0d285525
Fix a memory leak.
2021-05-27 19:20:57 +10:00
David Reid
2a656de4a2
Remove some unused variables.
2021-05-27 19:17:22 +10:00
David Reid
e8a5404946
Fix a bug due to leftover code from a refactor.
2021-05-27 19:04:39 +10:00
David Reid
0e1187c140
Prep work for some future work.
2021-05-26 18:58:29 +10:00
David Reid
9930fbaa34
Minor improvement to the resource manager.
...
This change affects cases where a sound is loaded while the same sound
is still in the process of being decoded. It makes it so the ASYNC flag
will only wait for the underlying data buffer to be initialized,
whereas the lack of ASYNC flag will result in it waiting for the entire
sound to be fully decoded.
2021-05-26 18:33:59 +10:00
David Reid
7814d25e76
Performance improvement to resource manager.
2021-05-26 18:02:32 +10:00
David Reid
7c238ac3ec
Fix a bug when initializing audio buffers for managed resources.
2021-05-26 17:45:18 +10:00
David Reid
b4844bc629
Fix C++ build.
2021-05-26 17:34:59 +10:00
David Reid
a5159bd297
Fix an infinite loop when reading from a data source with no data.
2021-05-25 18:28:53 +10:00
David Reid
9efc8507f6
Improve support for asynchronous decoding of sounds of unknown length.
2021-05-25 18:28:13 +10:00
David Reid
63955a65a9
Update c89atomic.
2021-05-23 20:25:18 +10:00
David Reid
acad0292c6
Add a comment.
2021-05-22 19:10:08 +10:00
David Reid
e60c79b061
Another experimental optimization.
2021-05-22 18:20:40 +10:00
David Reid
a641a80b85
More optimization experiments.
2021-05-22 18:00:29 +10:00
David Reid
1a919c0590
Cleanup to previous commit.
2021-05-22 17:54:26 +10:00
David Reid
0724a58e12
Experimental optimization to spatialization.
2021-05-22 17:51:33 +10:00
David Reid
1eaa29f37a
Remove an incorrect assert.
2021-05-22 15:21:06 +10:00
David Reid
2d3fdc526d
Add ma_sound_get_data_source().
2021-05-16 16:11:02 +10:00
David Reid
ccd72f5714
Update example.
2021-05-16 16:10:52 +10:00
David Reid
2558bbbea4
Fix a crash when passing in a NULL engine config.
2021-05-16 16:05:08 +10:00
David Reid
46a033b43a
Initial work on custom loop points and chaining for data sources.
...
This is locked behind the following compile time macro for now since
it'll involve breaking changes to custom data sources. This will be
removed in version 0.11:
MA_EXPERIMENTAL__DATA_LOOPING_AND_CHAINING
Public issue https://github.com/mackron/miniaudio/issues/290
2021-05-16 15:36:20 +10:00
David Reid
c6b44df8f4
Add support for running custom code on thread entry and exit.
...
To use this, define `MA_ON_THREAD_ENTRY` and `MA_ON_THREAD_EXIT` before
the implementation of miniaudio.
Public issue https://github.com/mackron/miniaudio/issues/301
2021-05-14 18:09:49 +10:00
David Reid
2eb792b719
Fix some typos.
2021-05-14 17:54:21 +10:00
David Reid
dba88558d1
Fix example code in documentation.
2021-05-10 21:20:42 +10:00
David Reid
2d11a3542c
PulseAudio: Fix a bug with channel mapping.
2021-05-09 16:16:03 +10:00
David Reid
c3636a45b9
PulseAudio: Try fixing a divide by zero error.
...
Public issue https://github.com/mackron/miniaudio/pull/308
2021-05-09 10:30:50 +10:00
David Reid
964e352e24
Fix a copy/paste error.
2021-05-03 16:28:09 +10:00
David Reid
8973469186
Simplify the data source config.
2021-05-03 16:07:19 +10:00