Commit ef55f674 authored by David Reid's avatar David Reid

Merge branch 'dev'

parents 66b5ccb5 0f5cb782
This diff is collapsed.
/* /*
Audio playback and capture library. Choice of public domain or MIT-0. See license statements at the end of this file. Audio playback and capture library. Choice of public domain or MIT-0. See license statements at the end of this file.
miniaudio - v0.10.37 - 2021-07-06 miniaudio - v0.10.38 - 2021-07-14
David Reid - mackron@gmail.com David Reid - mackron@gmail.com
...@@ -20,7 +20,7 @@ extern "C" { ...@@ -20,7 +20,7 @@ extern "C" {
#define MA_VERSION_MAJOR 0 #define MA_VERSION_MAJOR 0
#define MA_VERSION_MINOR 10 #define MA_VERSION_MINOR 10
#define MA_VERSION_REVISION 37 #define MA_VERSION_REVISION 38
#define MA_VERSION_STRING MA_XSTRINGIFY(MA_VERSION_MAJOR) "." MA_XSTRINGIFY(MA_VERSION_MINOR) "." MA_XSTRINGIFY(MA_VERSION_REVISION) #define MA_VERSION_STRING MA_XSTRINGIFY(MA_VERSION_MAJOR) "." MA_XSTRINGIFY(MA_VERSION_MINOR) "." MA_XSTRINGIFY(MA_VERSION_REVISION)
#if defined(_MSC_VER) && !defined(__clang__) #if defined(_MSC_VER) && !defined(__clang__)
...@@ -2384,6 +2384,8 @@ struct ma_context ...@@ -2384,6 +2384,8 @@ struct ma_context
ma_proc pa_stream_get_device_name; ma_proc pa_stream_get_device_name;
ma_proc pa_stream_set_write_callback; ma_proc pa_stream_set_write_callback;
ma_proc pa_stream_set_read_callback; ma_proc pa_stream_set_read_callback;
ma_proc pa_stream_set_suspended_callback;
ma_proc pa_stream_is_suspended;
ma_proc pa_stream_flush; ma_proc pa_stream_flush;
ma_proc pa_stream_drain; ma_proc pa_stream_drain;
ma_proc pa_stream_is_corked; ma_proc pa_stream_is_corked;
......
This diff is collapsed.
...@@ -13397,7 +13397,7 @@ MA_API ma_result ma_engine_play_sound_ex(ma_engine* pEngine, const char* pFilePa ...@@ -13397,7 +13397,7 @@ MA_API ma_result ma_engine_play_sound_ex(ma_engine* pEngine, const char* pFilePa
ma_uint32 soundFlags = 0; ma_uint32 soundFlags = 0;
for (pNextSound = pEngine->pInlinedSoundHead; pNextSound != NULL; pNextSound = pNextSound->pNext) { for (pNextSound = pEngine->pInlinedSoundHead; pNextSound != NULL; pNextSound = pNextSound->pNext) {
if (c89atomic_load_8(&pNextSound->sound.atEnd)) { if (ma_sound_at_end(&pNextSound->sound)) {
/* /*
The sound is at the end which means it's available for recycling. All we need to do The sound is at the end which means it's available for recycling. All we need to do
is uninitialize it and reinitialize it. All we're doing is recycling memory. is uninitialize it and reinitialize it. All we're doing is recycling memory.
...@@ -13413,6 +13413,10 @@ MA_API ma_result ma_engine_play_sound_ex(ma_engine* pEngine, const char* pFilePa ...@@ -13413,6 +13413,10 @@ MA_API ma_result ma_engine_play_sound_ex(ma_engine* pEngine, const char* pFilePa
We actually want to detach the sound from the list here. The reason is because we want the sound We actually want to detach the sound from the list here. The reason is because we want the sound
to be in a consistent state at the non-recycled case to simplify the logic below. to be in a consistent state at the non-recycled case to simplify the logic below.
*/ */
if (pEngine->pInlinedSoundHead == pSound) {
pEngine->pInlinedSoundHead = pSound->pNext;
}
if (pSound->pPrev != NULL) { if (pSound->pPrev != NULL) {
pSound->pPrev->pNext = pSound->pNext; pSound->pPrev->pNext = pSound->pNext;
} }
...@@ -13470,7 +13474,7 @@ MA_API ma_result ma_engine_play_sound_ex(ma_engine* pEngine, const char* pFilePa ...@@ -13470,7 +13474,7 @@ MA_API ma_result ma_engine_play_sound_ex(ma_engine* pEngine, const char* pFilePa
result = ma_sound_start(&pSound->sound); result = ma_sound_start(&pSound->sound);
if (result != MA_SUCCESS) { if (result != MA_SUCCESS) {
/* Failed to start the sound. We need to mark it for recycling and return an error. */ /* Failed to start the sound. We need to mark it for recycling and return an error. */
pSound->sound.atEnd = MA_TRUE; c89atomic_exchange_8(&pSound->sound.atEnd, MA_TRUE);
return result; return result;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment