videoio(msmf): fix reopen condition in configureHW()
authorAlexander Alekhin <alexander.alekhin@intel.com>
Sat, 9 Jun 2018 13:13:52 +0000 (16:13 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Wed, 13 Jun 2018 13:29:45 +0000 (16:29 +0300)
`camid` value is always -1 after close().

modules/videoio/src/cap_msmf.cpp

index a0c82ed..cf7a95e 100644 (file)
@@ -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;