Commit Graph

2686 Commits

Author SHA1 Message Date
David Reid 651520216d Fix a compilation warning on 32-bit. 2021-06-19 16:36:30 +10:00
David Reid 4257e070be Add ma_engine_set_time(). 2021-06-19 16:21:43 +10:00
David Reid 4be6201142 Merge branch 'dev' of https://github.com/mackron/miniaudio into dev 2021-06-19 15:13:59 +10:00
David Reid efc2fdcba3 Fix a seeking bug for sounds. 2021-06-19 15:13:47 +10:00
David Reid f24967f952 Comment out some code to try and fix an error on iOS.
Public issue https://github.com/mackron/miniaudio/issues/101
2021-06-17 18:05:06 +10:00
David Reid 2d43f4d01c Add support for data sources without support for seeking. 2021-06-13 18:05:20 +10:00
David Reid 9be681b848 Return MA_AT_END from ma_(pcm_)rb_commit_read/write(). 2021-06-13 18:04:57 +10:00
David Reid b48cb209e6 Fix an infinite loop when reading 0 frames from a data data buffer. 2021-06-13 14:50:27 +10:00
David Reid a26d41ed11 Fix a bug relating to the handling of looping sounds. 2021-06-13 12:50:27 +10:00
David Reid 7858e098f5 Add some helper functions to ma_audio_buffer/_ref. 2021-06-13 12:42:06 +10:00
David Reid b3d0858edf Fix a bug where data buffers never return MA_AT_END. 2021-06-13 07:24:40 +10:00
David Reid 7a9ce3d0d3 Fix a bug where MA_AT_END is not getting returned by audio buffers. 2021-06-13 07:17:26 +10:00
David Reid 73e1589afa Update dr_wav.
Public issue https://github.com/mackron/miniaudio/issues/320
2021-06-11 19:50:42 +10:00
David Reid 8234df87c9 Fix a possible double file close when decoder initialization fails.
Public issue https://github.com/mackron/miniaudio/issues/319
2021-06-11 19:03:01 +10:00
David Reid a10e763681 Fix a subtle multi-threading bug. 2021-06-09 20:56:37 +10:00
David Reid 96bcc0075a Refactor for data registration in the resource manager. 2021-06-09 19:52:20 +10:00
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