summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles/miniaudio
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/packagefiles/miniaudio')
-rw-r--r--subprojects/packagefiles/miniaudio/meson.build3
-rw-r--r--subprojects/packagefiles/miniaudio/miniaudio_pulse_flush.diff14
2 files changed, 17 insertions, 0 deletions
diff --git a/subprojects/packagefiles/miniaudio/meson.build b/subprojects/packagefiles/miniaudio/meson.build
new file mode 100644
index 0000000..0296803
--- /dev/null
+++ b/subprojects/packagefiles/miniaudio/meson.build
@@ -0,0 +1,3 @@
+project('miniaudio', 'c', version: '0.11.21')
+miniaudio = declare_dependency(sources: ['extras/miniaudio_split/miniaudio.c'],
+ include_directories: include_directories('extras/miniaudio_split'))
diff --git a/subprojects/packagefiles/miniaudio/miniaudio_pulse_flush.diff b/subprojects/packagefiles/miniaudio/miniaudio_pulse_flush.diff
new file mode 100644
index 0000000..83be63e
--- /dev/null
+++ b/subprojects/packagefiles/miniaudio/miniaudio_pulse_flush.diff
@@ -0,0 +1,14 @@
+diff --git a/extras/miniaudio_split/miniaudio.c b/extras/miniaudio_split/miniaudio.c
+index 651843b..e0b6f6e 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)
+ 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