summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles/miniaudio
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/packagefiles/miniaudio')
-rw-r--r--subprojects/packagefiles/miniaudio/meson.build2
-rw-r--r--subprojects/packagefiles/miniaudio/miniaudio_wasapi_drain_tweak.diff13
2 files changed, 14 insertions, 1 deletions
diff --git a/subprojects/packagefiles/miniaudio/meson.build b/subprojects/packagefiles/miniaudio/meson.build
index c980787..3c9e4c2 100644
--- a/subprojects/packagefiles/miniaudio/meson.build
+++ b/subprojects/packagefiles/miniaudio/meson.build
@@ -1,2 +1,2 @@
-project('miniaudio', 'c', version: 'git-29c17fc')
+project('miniaudio', 'c', version: 'git-47020e4')
miniaudio = declare_dependency(include_directories: include_directories('.'))
diff --git a/subprojects/packagefiles/miniaudio/miniaudio_wasapi_drain_tweak.diff b/subprojects/packagefiles/miniaudio/miniaudio_wasapi_drain_tweak.diff
new file mode 100644
index 0000000..56da73b
--- /dev/null
+++ b/subprojects/packagefiles/miniaudio/miniaudio_wasapi_drain_tweak.diff
@@ -0,0 +1,13 @@
+diff --git a/miniaudio.h b/miniaudio.h
+index c12ba87..4d9bbb0 100644
+--- a/miniaudio.h
++++ b/miniaudio.h
+@@ -24501,7 +24501,7 @@ static ma_result ma_device_stop__wasapi_nolock(ma_device* pDevice)
+ */
+ if (ma_atomic_bool32_get(&pDevice->wasapi.isStartedPlayback)) {
+ /* We need to make sure we put a timeout here or else we'll risk getting stuck in a deadlock in some cases. */
+- DWORD waitTime = (pDevice->wasapi.actualBufferSizeInFramesPlayback * 1000) / pDevice->playback.internalSampleRate;
++ DWORD waitTime = ma_calculate_buffer_size_in_milliseconds_from_frames(pDevice->wasapi.actualBufferSizeInFramesPlayback, pDevice->playback.internalSampleRate);
+
+ if (pDevice->playback.shareMode == ma_share_mode_exclusive) {
+ WaitForSingleObject((HANDLE)pDevice->wasapi.hEventPlayback, waitTime);