| Index: media/base/pipeline_impl.cc
|
| diff --git a/media/base/pipeline_impl.cc b/media/base/pipeline_impl.cc
|
| index ef8ac158a57c0837399ef7f2626e816135cd8e07..26f9dce0135e5884da417997aacc98ed7aa758dc 100644
|
| --- a/media/base/pipeline_impl.cc
|
| +++ b/media/base/pipeline_impl.cc
|
| @@ -648,10 +648,19 @@ void PipelineImpl::RendererWrapper::OnStatisticsUpdate(
|
| shared_state_.statistics.audio_memory_usage += stats.audio_memory_usage;
|
| shared_state_.statistics.video_memory_usage += stats.video_memory_usage;
|
|
|
| + base::TimeDelta old_average =
|
| + shared_state_.statistics.video_keyframe_distance_average;
|
| if (stats.video_keyframe_distance_average != kNoTimestamp) {
|
| shared_state_.statistics.video_keyframe_distance_average =
|
| stats.video_keyframe_distance_average;
|
| }
|
| +
|
| + if (shared_state_.statistics.video_keyframe_distance_average != old_average) {
|
| + main_task_runner_->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&PipelineImpl::OnVideoAverageKeyframeDistanceUpdate,
|
| + weak_pipeline_));
|
| + }
|
| }
|
|
|
| void PipelineImpl::RendererWrapper::OnBufferingStateChange(
|
| @@ -1324,6 +1333,15 @@ void PipelineImpl::OnVideoOpacityChange(bool opaque) {
|
| client_->OnVideoOpacityChange(opaque);
|
| }
|
|
|
| +void PipelineImpl::OnVideoAverageKeyframeDistanceUpdate() {
|
| + DVLOG(2) << __func__;
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| + DCHECK(IsRunning());
|
| +
|
| + DCHECK(client_);
|
| + client_->OnVideoAverageKeyframeDistanceUpdate();
|
| +}
|
| +
|
| void PipelineImpl::OnSeekDone() {
|
| DVLOG(3) << __func__;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|