- 16 Jun, 2020 1 commit
-
-
David Reid authored
These are completely untested. Nothing here is wired up to the main system - they're just for experimenting with some ideas.
-
- 15 Jun, 2020 1 commit
-
-
David Reid authored
-
- 14 Jun, 2020 23 commits
-
-
David Reid authored
-
David Reid authored
This is in preparation for self-managed message handling.
-
David Reid authored
-
David Reid authored
-
David Reid authored
When a decoding backend is not present, initialization should abort immediately with MA_NO_BACKEND, however it is including code for no reason. This commit excludes that useless code from the build.
-
David Reid authored
The thread priority can be set via ma_thread_create() and can be set in the context config along side the thread priority for configuring the size of the stack for the audio thread.
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
This addresses some 64-bit issues with stdio with older versions of VC.
-
David Reid authored
This needs to be #define-d before the header *and* implementation because it affects the size of publicly visible structures.
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
A streaming data source keeps in memory only two pages of audio data and dynamically loads data from a background thread. It is essentially a double buffering system - as one page is playing, the other is being loaded by the async thread. The size of a single page is defined by the following macro: MA_RESOURCE_MANAGER_PAGE_SIZE_IN_MILLISECONDS By default this is currently set to 1 second of audio data. This means each page has 1 second to load which should be plenty of time. If you need additional time, the only way to do it is increase the size of the page by changing the value of the above macro. -
David Reid authored
-
- 13 Jun, 2020 6 commits
-
-
David Reid authored
* ma_resource_manager_uninit() has been implemented. * Bug fixes and inserting and removing data buffers from the BST. * Some old experimental code has been removed. * Minor whitespace clean up.
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
David Reid authored
-
- 12 Jun, 2020 2 commits
-
-
David Reid authored
This enables early playback of the sound while the remainder of the sound is loaded in the background. When the first page is loaded, the sound can start playback. While it's playing, the rest of the sound is loaded in a background thread. In addition, sounds no longer need to wait for every sound prior to it in the queue to fully decode before it is able to start - it only needs to wait for the first page of each of the queued sounds to decode. This enables much fairer prioritization of asynchronously loaded sounds. This paged decoding system is *not* a true streaming solution for long sounds. Support for true streaming will be added in future commits. This commit is only concerned with filling in-memory buffers containing the whole sound in an asynchronous manner.
-
David Reid authored
-
- 11 Jun, 2020 1 commit
-
-
David Reid authored
-
- 10 Jun, 2020 2 commits
-
-
David Reid authored
* Early work on asynchronously decoding into a memory buffer. This is just an early implementation - there are still issues needing to be figured out. In particular, sounds do not automatically start until the entire file has been decoded. It would be good if they could start as soon as the first second or so of data has been decoded. -
David Reid authored
* ma_data_source_read_pcm_frames and ma_data_source_seek_pcm_frames now return a result code and output the frames read/seeked as an output parameter. * These return MA_AT_END if the end of the data source has been reached. This should never be returned if the loop parameter is set to true.
-
- 08 Jun, 2020 4 commits
-
-
David Reid authored
-
David Reid authored
This is needing to be done manually because Apple has decided to deprecate anonymous semaphores from semaphore.h which we're going to need.
-
David Reid authored
-
David Reid authored
-