From 09c63e4f007d9e9f6f7da4c69f2c61a15bc21011 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Sat, 9 Jun 2018 16:13:52 +0300 Subject: [PATCH] videoio(msmf): fix reopen condition in configureHW() `camid` value is always -1 after close(). --- modules/videoio/src/cap_msmf.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/videoio/src/cap_msmf.cpp b/modules/videoio/src/cap_msmf.cpp index a0c82ed..cf7a95e 100644 --- a/modules/videoio/src/cap_msmf.cpp +++ b/modules/videoio/src/cap_msmf.cpp @@ -805,7 +805,7 @@ bool CvCapture_MSMF::configureHW(bool enable) if (SUCCEEDED(D3DMgr->ResetDevice(D3DDev.Get(), mgrRToken))) { captureMode = MODE_HW; - return reopen ? camid >= 0 ? open(prevcam) : open(prevfile.c_str()) : true; + return reopen ? (prevcam >= 0 ? open(prevcam) : open(prevfile.c_str())) : true; } D3DMgr.Reset(); } @@ -821,7 +821,7 @@ bool CvCapture_MSMF::configureHW(bool enable) if (D3DDev) D3DDev.Reset(); captureMode = MODE_SW; - return reopen ? camid >= 0 ? open(prevcam) : open(prevfile.c_str()) : true; + return reopen ? (prevcam >= 0 ? open(prevcam) : open(prevfile.c_str())) : true; } #else return !enable; -- 2.7.4