ao_wasapi: initialize change notify in main thread

This is something else that has nothing to do with audio rendering.
This commit is contained in:
Kevin Mitchell 2016-01-04 18:16:40 -08:00
parent 0c877d2fdc
commit bf611ff0f6
2 changed files with 6 additions and 3 deletions

View File

@ -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) {

View File

@ -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));