diff options
Diffstat (limited to 'audio')
-rw-r--r-- | audio/out/ao_wasapi.c | 2 | ||||
-rwxr-xr-x | audio/out/ao_wasapi_utils.c | 4 | ||||
-rwxr-xr-x | audio/out/ao_wasapi_utils.h | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/audio/out/ao_wasapi.c b/audio/out/ao_wasapi.c index c9a079ffc9..68317703d5 100644 --- a/audio/out/ao_wasapi.c +++ b/audio/out/ao_wasapi.c @@ -126,7 +126,7 @@ static DWORD __stdcall ThreadLoop(void *lpParameter) QS_POSTMESSAGE | QS_SENDMESSAGE); switch (waitstatus) { case WAIT_OBJECT_0: /*shutdown*/ - wasapi_thread_uninit(state); + wasapi_thread_uninit(ao); goto exit_label; case (WAIT_OBJECT_0 + 1): /* feed */ thread_feed(ao); diff --git a/audio/out/ao_wasapi_utils.c b/audio/out/ao_wasapi_utils.c index 9ffaab43fb..921b0dbc6b 100755 --- a/audio/out/ao_wasapi_utils.c +++ b/audio/out/ao_wasapi_utils.c @@ -976,8 +976,10 @@ exit_label: return -1; } -void wasapi_thread_uninit(wasapi_state *state) +void wasapi_thread_uninit(struct ao *ao) { + struct wasapi_state *state = (struct wasapi_state *)ao->priv; + if (state->pAudioClient) IAudioClient_Stop(state->pAudioClient); diff --git a/audio/out/ao_wasapi_utils.h b/audio/out/ao_wasapi_utils.h index ee171ebb3c..41167b9189 100755 --- a/audio/out/ao_wasapi_utils.h +++ b/audio/out/ao_wasapi_utils.h @@ -38,7 +38,7 @@ int wasapi_validate_device(struct mp_log *log, const m_option_t *opt, struct bstr name, struct bstr param); int wasapi_thread_init(struct ao *ao); -void wasapi_thread_uninit(wasapi_state *state); +void wasapi_thread_uninit(struct ao *ao); HRESULT wasapi_setup_proxies(wasapi_state *state); void wasapi_release_proxies(wasapi_state *state); |