summaryrefslogtreecommitdiff
path: root/src/plugins/multimedia/windows/qwindowsvideodevices.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/multimedia/windows/qwindowsvideodevices.cpp')
-rw-r--r--src/plugins/multimedia/windows/qwindowsvideodevices.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/multimedia/windows/qwindowsvideodevices.cpp b/src/plugins/multimedia/windows/qwindowsvideodevices.cpp
index 41ccb4733..bd0624bfc 100644
--- a/src/plugins/multimedia/windows/qwindowsvideodevices.cpp
+++ b/src/plugins/multimedia/windows/qwindowsvideodevices.cpp
@@ -59,6 +59,8 @@ static HWND createMessageOnlyWindow()
QWindowsVideoDevices::QWindowsVideoDevices(QPlatformMediaIntegration *integration)
: QPlatformVideoDevices(integration)
{
+ CoInitialize(nullptr);
+
m_videoDeviceMsgWindow = createMessageOnlyWindow();
if (m_videoDeviceMsgWindow) {
SetWindowLongPtr(m_videoDeviceMsgWindow, GWLP_USERDATA, (LONG_PTR)this);
@@ -93,6 +95,8 @@ QWindowsVideoDevices::~QWindowsVideoDevices()
DestroyWindow(m_videoDeviceMsgWindow);
UnregisterClass(windowClassName, GetModuleHandle(nullptr));
}
+
+ CoUninitialize();
}
static std::optional<QCameraFormat> createCameraFormat(IMFMediaType *mediaFormat)