    // Size of frame most recently captured from the source.
    webrtc::DesktopSize previous_frame_size_;
  
-@@ -137,6 +160,9 @@ class DesktopCaptureDevice::Core : public webrtc::DesktopCapturer::Callback {
+@@ -138,6 +161,9 @@ class DesktopCaptureDevice::Core : public webrtc::DesktopCapturer::Callback {
    // Timer used to capture the frame.
    base::OneShotTimer capture_timer_;
  

+          static_cast<double>(base::Time::kMicrosecondsPerSecond) /
+              requested_frame_rate_ +
+          0.5 /* round to nearest int */));
   resolution_chooser_.reset(new media::CaptureResolutionChooser(
       params.requested_format.frame_size,
       params.resolution_change_policy));
@@ -358,10 +390,9 @@ void DesktopCaptureDevice::Core::CaptureFrameAndScheduleNext() {
   base::TimeDelta last_capture_duration = base::TimeTicks::Now() - started_time;
 
   // Limit frame-rate to reduce CPU consumption.

 
 webrtc::DesktopRect ComputeLetterboxRect(
     const webrtc::DesktopSize& max_size,
@@ -78,6 +79,25 @@ std::unique_ptr<service_manager::Connector> GetServiceConnector() {
   return connector->Clone();
 }
 
