Merge pull request #3251 from a-wi:MSMF_camera_errors

pull/3255/head
Vadim Pisarevsky 11 years ago
commit 10bbcca11e
  1. 9
      modules/highgui/src/cap_msmf.cpp

@ -1462,7 +1462,6 @@ void ImageGrabber::stopGrabbing()
HRESULT ImageGrabber::startGrabbing(void) HRESULT ImageGrabber::startGrabbing(void)
{ {
_ComPtr<IMFMediaEvent> pEvent = NULL;
PROPVARIANT var; PROPVARIANT var;
PropVariantInit(&var); PropVariantInit(&var);
HRESULT hr = ig_pSession->SetTopology(0, ig_pTopology); HRESULT hr = ig_pSession->SetTopology(0, ig_pTopology);
@ -1470,6 +1469,7 @@ HRESULT ImageGrabber::startGrabbing(void)
hr = ig_pSession->Start(&GUID_NULL, &var); hr = ig_pSession->Start(&GUID_NULL, &var);
for(;;) for(;;)
{ {
_ComPtr<IMFMediaEvent> pEvent = NULL;
HRESULT hrStatus = S_OK; HRESULT hrStatus = S_OK;
MediaEventType met; MediaEventType met;
if(!ig_pSession) break; if(!ig_pSession) break;
@ -2445,11 +2445,12 @@ int videoDevice::findType(unsigned int size, unsigned int frameRate)
fmt = vd_CaptureFormats.find(size); fmt = vd_CaptureFormats.find(size);
if( fmt != vd_CaptureFormats.end() ) if( fmt != vd_CaptureFormats.end() )
FRM = fmt->second; FRM = fmt->second;
else if (FRM.empty()) else if(!vd_CaptureFormats.empty())
return -1;
else
FRM = vd_CaptureFormats.rbegin()->second; FRM = vd_CaptureFormats.rbegin()->second;
if (FRM.empty())
return -1;
UINT64 frameRateMax = 0; SUBTYPEMap STMMax; UINT64 frameRateMax = 0; SUBTYPEMap STMMax;
if(frameRate == 0) if(frameRate == 0)
{ {

Loading…
Cancel
Save