diff --git a/mini_al.h b/mini_al.h
index e0a1a579..fc25c8b2 100644
--- a/mini_al.h
+++ b/mini_al.h
@@ -7687,7 +7687,11 @@ mal_result mal_device__get_available_frames__wasapi(mal_device* pDevice, mal_IAu
*pFrameCount = paddingFramesCount;
} else {
if ((mal_ptr)pAudioClient == pDevice->wasapi.pAudioClientPlayback) {
- *pFrameCount = (pDevice->playback.internalBufferSizeInFrames/pDevice->playback.internalPeriods) - paddingFramesCount;
+ if (pDevice->type == mal_device_type_duplex) {
+ *pFrameCount = pDevice->playback.internalBufferSizeInFrames - paddingFramesCount;
+ } else {
+ *pFrameCount = (pDevice->playback.internalBufferSizeInFrames/pDevice->playback.internalPeriods) - paddingFramesCount;
+ }
} else {
*pFrameCount = paddingFramesCount;
}
diff --git a/tests/mal_duplex.c b/tests/mal_duplex.c
index 122ce4a4..b48364b7 100644
--- a/tests/mal_duplex.c
+++ b/tests/mal_duplex.c
@@ -60,7 +60,7 @@ int main(int argc, char** argv)
#endif
- mal_backend backend = mal_backend_webaudio;
+ mal_backend backend = mal_backend_wasapi;
mal_context_config contextConfig = mal_context_config_init();
contextConfig.logCallback = log_callback;
diff --git a/tests/mal_test_0.vcxproj b/tests/mal_test_0.vcxproj
index 8c020342..a72f593b 100644
--- a/tests/mal_test_0.vcxproj
+++ b/tests/mal_test_0.vcxproj
@@ -287,12 +287,12 @@
true
- false
- false
- false
- false
- false
- false
+ true
+ true
+ true
+ true
+ true
+ true
true
@@ -319,12 +319,12 @@
true
- true
- true
- true
- true
- true
- true
+ false
+ false
+ false
+ false
+ false
+ false
true