On Thu, 27 May 2021 04:18:24 GMT, Alexander Matveev <almat...@openjdk.org> wrote:
> JDK-8264737 introduced new code for audio device removal/arrival > notifications which calls CoInitialize/CoUninitialize on separate threads. > CoInitialize/CoUninitialize should be called on same thread, since > initialization is per thread. Doing it on separate thread will result in > unloading COM libraries on that thread and if it uses COM libraries it might > not work correctly. Fixed by calling it on same thread in same way it is done > in dshowwrapper. modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-good/sys/directsound/gstdirectsoundnotify.cpp line 57: > 55: bool bResult = false; > 56: > 57: if (FAILED(CoInitialize(NULL))) { As per the [`CoUninitialize` doc](https://docs.microsoft.com/en-us/windows/win32/api/combaseapi/nf-combaseapi-couninitialize#remarks), `CoUninitialize` should also be called if `CoInitialize` returns S_FALSE. Can you please check. ------------- PR: https://git.openjdk.java.net/jfx/pull/521