| Index: content/browser/renderer_host/media/video_capture_oracle.cc
|
| diff --git a/content/browser/renderer_host/media/video_capture_oracle.cc b/content/browser/renderer_host/media/video_capture_oracle.cc
|
| index fb41ec2fe4eb56d43ba258e3b414aa79fb467d3b..499bde468aab112e5ffae4875505a6abc48ac34b 100644
|
| --- a/content/browser/renderer_host/media/video_capture_oracle.cc
|
| +++ b/content/browser/renderer_host/media/video_capture_oracle.cc
|
| @@ -33,8 +33,8 @@ VideoCaptureOracle::VideoCaptureOracle(base::TimeDelta capture_period,
|
| kNumRedundantCapturesOfStaticContent) {}
|
|
|
| bool VideoCaptureOracle::ObserveEventAndDecideCapture(
|
| - Event event,
|
| - base::Time event_time) {
|
| + Event event,
|
| + base::TimeTicks event_time) {
|
| // Record |event| and decide whether it's a good time to capture.
|
| const bool content_is_dirty = (event == kCompositorUpdate ||
|
| event == kSoftwarePaint);
|
| @@ -54,7 +54,7 @@ int VideoCaptureOracle::RecordCapture() {
|
| }
|
|
|
| bool VideoCaptureOracle::CompleteCapture(int frame_number,
|
| - base::Time timestamp) {
|
| + base::TimeTicks timestamp) {
|
| // Drop frame if previous frame number is higher or we're trying to deliver
|
| // a frame with the same timestamp.
|
| if (last_delivered_frame_number_ > frame_number ||
|
| @@ -88,7 +88,8 @@ SmoothEventSampler::SmoothEventSampler(base::TimeDelta capture_period,
|
| DCHECK_GT(capture_period_.InMicroseconds(), 0);
|
| }
|
|
|
| -bool SmoothEventSampler::AddEventAndConsiderSampling(base::Time event_time) {
|
| +bool SmoothEventSampler::AddEventAndConsiderSampling(
|
| + base::TimeTicks event_time) {
|
| DCHECK(!event_time.is_null());
|
|
|
| // Add tokens to the bucket based on advancement in time. Then, re-bound the
|
| @@ -137,7 +138,8 @@ void SmoothEventSampler::RecordSample() {
|
| << "Content changed; capture will resume.";
|
| }
|
|
|
| -bool SmoothEventSampler::IsOverdueForSamplingAt(base::Time event_time) const {
|
| +bool SmoothEventSampler::IsOverdueForSamplingAt(base::TimeTicks event_time)
|
| + const {
|
| DCHECK(!event_time.is_null());
|
|
|
| // If we don't get events on compositor updates on this platform, then we
|
| @@ -149,6 +151,9 @@ bool SmoothEventSampler::IsOverdueForSamplingAt(base::Time event_time) const {
|
| }
|
| }
|
|
|
| + if (last_sample_.is_null())
|
| + return true;
|
| +
|
| // If we're dirty but not yet old, then we've recently gotten updates, so we
|
| // won't request a sample just yet.
|
| base::TimeDelta dirty_interval = event_time - last_sample_;
|
|
|