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