Merge pull request #11856 from alalek:videoio_msmf_fix_check

pull/11865/head
Alexander Alekhin 7 years ago
commit 5a27f7c81f
  1. 13
      modules/videoio/src/cap_msmf.cpp

@ -1071,17 +1071,14 @@ HRESULT SourceReaderCB::Wait(DWORD dwMilliseconds, _ComPtr<IMFSample>& videoSamp
return HRESULT_FROM_WIN32(GetLastError());
}
bEOS = m_bEOS;
if (!bEOS)
{
cv::AutoLock lock(m_mutex);
bEOS = m_bEOS;
if (!bEOS)
{
videoSample = m_lastSample;
CV_Assert(videoSample);
m_lastSample.Release();
ResetEvent(m_hEvent); // event is auto-reset, but we need this forced reset due time gap between wait() and mutex hold.
}
videoSample = m_lastSample;
CV_Assert(videoSample);
m_lastSample.Release();
ResetEvent(m_hEvent); // event is auto-reset, but we need this forced reset due time gap between wait() and mutex hold.
}
return m_hrStatus;

Loading…
Cancel
Save