From 2f9a0945bfeee3296cec3d38d094e4c49f9cb65f Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Sat, 25 May 2024 20:22:59 -0400 Subject: wip Signed-off-by: Andrew Opalach --- .../miniaudio/miniaudio_pulse_flush.diff | 36 ++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'subprojects/packagefiles/miniaudio') diff --git a/subprojects/packagefiles/miniaudio/miniaudio_pulse_flush.diff b/subprojects/packagefiles/miniaudio/miniaudio_pulse_flush.diff index 83be63e..41ea436 100644 --- a/subprojects/packagefiles/miniaudio/miniaudio_pulse_flush.diff +++ b/subprojects/packagefiles/miniaudio/miniaudio_pulse_flush.diff @@ -1,8 +1,40 @@ diff --git a/extras/miniaudio_split/miniaudio.c b/extras/miniaudio_split/miniaudio.c -index 651843b..e0b6f6e 100644 +index bb97e1f..43bf4f1 100644 --- a/extras/miniaudio_split/miniaudio.c +++ b/extras/miniaudio_split/miniaudio.c -@@ -19362,7 +19362,8 @@ static ma_result ma_device_stop__pulse(ma_device* pDevice) +@@ -4763,7 +4763,7 @@ static void ma_thread_wait__posix(ma_thread* pThread) + static ma_result ma_mutex_init__posix(ma_mutex* pMutex) + { + int result; +- ++ + if (pMutex == NULL) { + return MA_INVALID_ARGS; + } +@@ -19374,7 +19374,8 @@ static ma_result ma_device_stop__pulse(ma_device* pDevice) + happens, draining never completes and we get stuck here. For now I'm disabling draining of + the device so we don't just freeze the application. + */ +- #if 0 ++ #if 1 ++ ma_bool32 wasSuccessful = MA_FALSE; + ma_pa_operation* pOP = ((ma_pa_stream_drain_proc)pDevice->pContext->pulse.pa_stream_drain)((ma_pa_stream*)pDevice->pulse.pStreamPlayback, ma_pulse_operation_complete_callback, &wasSuccessful); + ma_wait_for_operation_and_unref__pulse(pDevice->pContext, pDevice->pulse.pMainLoop, pOP); + #endif +diff --git a/miniaudio.h b/miniaudio.h +index a5673ac..cf73a54 100644 +--- a/miniaudio.h ++++ b/miniaudio.h +@@ -16243,7 +16243,7 @@ static void ma_thread_wait__posix(ma_thread* pThread) + static ma_result ma_mutex_init__posix(ma_mutex* pMutex) + { + int result; +- ++ + if (pMutex == NULL) { + return MA_INVALID_ARGS; + } +@@ -30906,7 +30906,8 @@ static ma_result ma_device_stop__pulse(ma_device* pDevice) happens, draining never completes and we get stuck here. For now I'm disabling draining of the device so we don't just freeze the application. */ -- cgit v1.2.3-101-g0448