summaryrefslogtreecommitdiff
path: root/chromium/content/browser/media/capture/io_surface_capture_device_base_mac.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/media/capture/io_surface_capture_device_base_mac.h')
-rw-r--r--chromium/content/browser/media/capture/io_surface_capture_device_base_mac.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/chromium/content/browser/media/capture/io_surface_capture_device_base_mac.h b/chromium/content/browser/media/capture/io_surface_capture_device_base_mac.h
index 3db02755e87..27f78f76ef7 100644
--- a/chromium/content/browser/media/capture/io_surface_capture_device_base_mac.h
+++ b/chromium/content/browser/media/capture/io_surface_capture_device_base_mac.h
@@ -29,9 +29,6 @@ class CONTENT_EXPORT IOSurfaceCaptureDeviceBase
// OnStop is called by StopAndDeAllocate.
virtual void OnStop() = 0;
- // media::VideoCaptureDevice overrides.
- void RequestRefreshFrame() override;
-
protected:
void OnReceivedIOSurfaceFromStream(
gfx::ScopedInUseIOSurface io_surface,
@@ -72,6 +69,15 @@ class CONTENT_EXPORT IOSurfaceCaptureDeviceBase
gfx::ScopedInUseIOSurface last_received_io_surface_;
media::VideoCaptureFormat last_received_capture_format_;
+ // The minimum frame rate.
+ float min_frame_rate_ = 1.f;
+
+ // Timer to enforce `min_frame_rate_` by repeatedly calling
+ // SendLastReceivedIOSurfaceToClient.
+ // TODO(https://crbug.com/1171127): Remove the need for the capture device
+ // to re-submit static content.
+ std::unique_ptr<base::RepeatingTimer> min_frame_rate_enforcement_timer_;
+
base::WeakPtrFactory<IOSurfaceCaptureDeviceBase> weak_factory_base_{this};
};