diff options
author | Kevin Mitchell <kevmitch@gmail.com> | 2016-01-04 18:16:40 -0800 |
---|---|---|
committer | Kevin Mitchell <kevmitch@gmail.com> | 2016-01-05 17:47:55 -0800 |
commit | bf611ff0f6e801f18b7cc5ba0fd9fb415ca0dade (patch) | |
tree | 881c83c667fc5981ecee861b34f87e9366ce7d7e /audio | |
parent | 0c877d2fdc9fb00a2e154cf0b7c42577761930dc (diff) | |
download | mpv-bf611ff0f6e801f18b7cc5ba0fd9fb415ca0dade.tar.bz2 mpv-bf611ff0f6e801f18b7cc5ba0fd9fb415ca0dade.tar.xz |
ao_wasapi: initialize change notify in main thread
This is something else that has nothing to do with audio rendering.
Diffstat (limited to 'audio')
-rw-r--r-- | audio/out/ao_wasapi.c | 6 | ||||
-rw-r--r-- | audio/out/ao_wasapi_utils.c | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/audio/out/ao_wasapi.c b/audio/out/ao_wasapi.c index e6f1c32662..2a4834d1b1 100644 --- a/audio/out/ao_wasapi.c +++ b/audio/out/ao_wasapi.c @@ -273,7 +273,11 @@ static void uninit(struct ao *ao) SAFE_RELEASE(state->hInitDone, CloseHandle(state->hInitDone)); SAFE_RELEASE(state->hWake, CloseHandle(state->hWake)); SAFE_RELEASE(state->hAudioThread,CloseHandle(state->hAudioThread)); + + wasapi_change_uninit(ao); + talloc_free(state->deviceID); + CoUninitialize(); MP_DBG(ao, "Uninit wasapi done\n"); } @@ -292,6 +296,8 @@ static int init(struct ao *ao) return -1; } + wasapi_change_init(ao, false); + state->hInitDone = CreateEventW(NULL, FALSE, FALSE, NULL); state->hWake = CreateEventW(NULL, FALSE, FALSE, NULL); if (!state->hInitDone || !state->hWake) { diff --git a/audio/out/ao_wasapi_utils.c b/audio/out/ao_wasapi_utils.c index 92ca547a4d..15eb8beccf 100644 --- a/audio/out/ao_wasapi_utils.c +++ b/audio/out/ao_wasapi_utils.c @@ -1123,8 +1123,6 @@ retry: ; MP_DBG(ao, "Creating proxies\n"); create_proxy_streams(state); - wasapi_change_init(ao, false); - MP_DBG(ao, "Init wasapi thread done\n"); return S_OK; exit_label: @@ -1141,7 +1139,6 @@ void wasapi_thread_uninit(struct ao *ao) if (state->pAudioClient) IAudioClient_Stop(state->pAudioClient); - wasapi_change_uninit(ao); destroy_proxy_streams(state); SAFE_RELEASE(state->pRenderClient, IAudioRenderClient_Release(state->pRenderClient)); |