From ece3fac7efb07bf01a7875d82be51a69c0d8a1c2 Mon Sep 17 00:00:00 2001 From: PkLab Date: Wed, 1 Feb 2017 15:37:24 +0100 Subject: [PATCH] Merge pull request #8112 from PkLab:Fix_7898 CoInitialize/CoUninitialize in VFW classes (#8112) --- modules/videoio/src/cap_vfw.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/modules/videoio/src/cap_vfw.cpp b/modules/videoio/src/cap_vfw.cpp index 555e848305..43a977212e 100644 --- a/modules/videoio/src/cap_vfw.cpp +++ b/modules/videoio/src/cap_vfw.cpp @@ -312,8 +312,16 @@ CvCapture* cvCreateFileCapture_VFW (const char* filename) class CvCaptureCAM_VFW : public CvCapture { public: - CvCaptureCAM_VFW() { init(); } - virtual ~CvCaptureCAM_VFW() { close(); } + CvCaptureCAM_VFW() + { + CoInitialize(NULL); + init(); + } + virtual ~CvCaptureCAM_VFW() + { + close(); + CoUninitialize(); + } virtual bool open( int index ); virtual void close(); @@ -673,8 +681,16 @@ CvCapture* cvCreateCameraCapture_VFW( int index ) class CvVideoWriter_VFW : public CvVideoWriter { public: - CvVideoWriter_VFW() { init(); } - virtual ~CvVideoWriter_VFW() { close(); } + CvVideoWriter_VFW() + { + CoInitialize(NULL); + init(); + } + virtual ~CvVideoWriter_VFW() + { + close(); + CoUninitialize(); + } virtual bool open( const char* filename, int fourcc, double fps, CvSize frameSize, bool isColor );