From ae6a1f8a82f50bdac61a94be5e4b9eb35ada71a5 Mon Sep 17 00:00:00 2001 From: aymeric Date: Sun, 14 Jun 2009 16:31:17 +0000 Subject: [PATCH] Fix missing CoInitialize for detecting camera. git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@495 3f6dc0c8-ddfe-455d-9043-3cd528dc4637 --- linphone/mediastreamer2/src/winvideods.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/linphone/mediastreamer2/src/winvideods.c b/linphone/mediastreamer2/src/winvideods.c index 98dbcdd3a..26fd49c36 100644 --- a/linphone/mediastreamer2/src/winvideods.c +++ b/linphone/mediastreamer2/src/winvideods.c @@ -1344,10 +1344,14 @@ static void vfw_detect(MSWebCamManager *obj){ ULONG nFetched = 0; + // Initialize COM + CoInitialize(NULL); + hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER, IID_ICreateDevEnum, (PVOID *)&pCreateDevEnum); if(FAILED(hr)) { + CoUninitialize(); return ; } @@ -1355,6 +1359,7 @@ static void vfw_detect(MSWebCamManager *obj){ &pEnumMoniker, 0); if (FAILED(hr) || pEnumMoniker == NULL) { //printf("no device\n"); + CoUninitialize(); return ; } @@ -1394,4 +1399,5 @@ static void vfw_detect(MSWebCamManager *obj){ pEnumMoniker->Release(); pCreateDevEnum->Release(); + CoUninitialize(); }