diff --git a/src/modules/video_capture/main/source/Windows/sink_filter_windows.cc b/src/modules/video_capture/main/source/Windows/sink_filter_windows.cc index b91526e1d1..ec9d2bf1c4 100644 --- a/src/modules/video_capture/main/source/Windows/sink_filter_windows.cc +++ b/src/modules/video_capture/main/source/Windows/sink_filter_windows.cc @@ -75,7 +75,9 @@ CaptureInputPin::GetMediaType (IN int iPosition, OUT CMediaType * pmt) pvi->bmiHeader.biPlanes = 1; pvi->bmiHeader.biClrImportant = 0; pvi->bmiHeader.biClrUsed = 0; - pvi->AvgTimePerFrame = 10000000/_requestedCapability.maxFPS; + if (_requestedCapability.maxFPS != 0) { + pvi->AvgTimePerFrame = 10000000/_requestedCapability.maxFPS; + } SetRectEmpty(&(pvi->rcSource)); // we want the whole image area rendered. SetRectEmpty(&(pvi->rcTarget)); // no particular destination rectangle diff --git a/src/modules/video_capture/main/source/Windows/video_capture_windows.cc b/src/modules/video_capture/main/source/Windows/video_capture_windows.cc index d3477347d6..4c2d52419e 100644 --- a/src/modules/video_capture/main/source/Windows/video_capture_windows.cc +++ b/src/modules/video_capture/main/source/Windows/video_capture_windows.cc @@ -229,6 +229,9 @@ WebRtc_Word32 VideoCaptureDS::SetCameraOutput( if (capability.maxFPS > requestedCapability.maxFPS) { capability.maxFPS = requestedCapability.maxFPS; + } else if (capability.maxFPS <= 0) + { + capability.maxFPS = 30; } // Store the new expected capture delay _captureDelay = capability.expectedCaptureDelay;