| Index: media/filters/video_renderer_algorithm.h
|
| diff --git a/media/filters/video_renderer_algorithm.h b/media/filters/video_renderer_algorithm.h
|
| index 4a3da250815eea1979e118259b823db737c9a934..71d251f416a667e9515afb779d776bdbbffba12d 100644
|
| --- a/media/filters/video_renderer_algorithm.h
|
| +++ b/media/filters/video_renderer_algorithm.h
|
| @@ -117,6 +117,10 @@ class MEDIA_EXPORT VideoRendererAlgorithm {
|
| // be counted as effective.
|
| size_t EffectiveFramesQueued() const;
|
|
|
| + // Tells the algorithm that Render() callbacks have been suspended for a known
|
| + // reason and such stoppage shouldn't be counted against future frames.
|
| + void set_time_stopped() { was_time_moving_ = false; }
|
| +
|
| size_t frames_queued() const { return frame_queue_.size(); }
|
|
|
| // Returns the average of the duration of all frames in |frame_queue_|
|
| @@ -175,9 +179,8 @@ class MEDIA_EXPORT VideoRendererAlgorithm {
|
| base::TimeTicks deadline_max);
|
|
|
| // Updates the render count and wall clock timestamps for all frames in
|
| - // |frame_queue_|. Returns false if statistics can't be updated at this time;
|
| - // which occurs if media time has stopped or there are not enough frames to
|
| - // calculate an average frame duration. Updates |cadence_estimator_|.
|
| + // |frame_queue_|. Updates |was_time_stopped_|, |cadence_estimator_| and
|
| + // |frame_duration_calculator_|.
|
| //
|
| // Note: Wall clock time is recomputed each Render() call because it's
|
| // expected that the TimeSource powering TimeSource::WallClockTimeCB will skew
|
| @@ -186,7 +189,7 @@ class MEDIA_EXPORT VideoRendererAlgorithm {
|
| // TODO(dalecurtis): Investigate how accurate we need the wall clock times to
|
| // be, so we can avoid recomputing every time (we would need to recompute when
|
| // playback rate changes occur though).
|
| - bool UpdateFrameStatistics();
|
| + void UpdateFrameStatistics();
|
|
|
| // Updates the ideal render count for all frames in |frame_queue_| based on
|
| // the cadence returned by |cadence_estimator_|. Cadence is assigned based
|
| @@ -304,6 +307,11 @@ class MEDIA_EXPORT VideoRendererAlgorithm {
|
| // by cadence in favor of one by drift or coverage.
|
| bool last_render_ignored_cadence_frame_;
|
|
|
| + // Indicates if time was moving, set to the return value from
|
| + // UpdateFrameStatistics() during Render() or externally by
|
| + // set_time_stopped().
|
| + bool was_time_moving_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(VideoRendererAlgorithm);
|
| };
|
|
|
|
|