mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 13:47:32 +08:00
Merge pull request #3260 from a-wi:MSMF_file_error
This commit is contained in:
commit
1920232268
@ -3847,18 +3847,25 @@ bool CvCaptureFile_MSMF::open(const char* filename)
|
||||
hr = enumerateCaptureFormats(videoFileSource);
|
||||
}
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
if( captureFormats.empty() )
|
||||
{
|
||||
hr = ImageGrabberThread::CreateInstance(&grabberThread, videoFileSource, (unsigned int)-2, true);
|
||||
isOpened = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
hr = ImageGrabberThread::CreateInstance(&grabberThread, videoFileSource, (unsigned int)-2, true);
|
||||
}
|
||||
|
||||
isOpened = SUCCEEDED(hr);
|
||||
}
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
if (isOpened)
|
||||
{
|
||||
grabberThread->start();
|
||||
}
|
||||
|
||||
isOpened = SUCCEEDED(hr);
|
||||
|
||||
return isOpened;
|
||||
}
|
||||
|
||||
@ -3990,7 +3997,9 @@ HRESULT CvCaptureFile_MSMF::enumerateCaptureFormats(IMFMediaSource *pSource)
|
||||
goto done;
|
||||
}
|
||||
MediaType MT = FormatReader::Read(pType.Get());
|
||||
captureFormats.push_back(MT);
|
||||
// We can capture only RGB video.
|
||||
if( MT.MF_MT_SUBTYPE == MFVideoFormat_RGB24 )
|
||||
captureFormats.push_back(MT);
|
||||
}
|
||||
|
||||
done:
|
||||
|
Loading…
Reference in New Issue
Block a user