Chromium Code Reviews| Index: media/renderers/video_renderer_impl.cc |
| diff --git a/media/renderers/video_renderer_impl.cc b/media/renderers/video_renderer_impl.cc |
| index 683005303287b0bddd3b98ac80f76eade77a13bf..bab8261c90d53d59a9eed2273e63e1d38ba4520b 100644 |
| --- a/media/renderers/video_renderer_impl.cc |
| +++ b/media/renderers/video_renderer_impl.cc |
| @@ -51,6 +51,7 @@ VideoRendererImpl::VideoRendererImpl( |
| pending_read_(false), |
| drop_frames_(drop_frames), |
| buffering_state_(BUFFERING_HAVE_NOTHING), |
| + bytes_decoded_(0), |
| frames_decoded_(0), |
| frames_dropped_(0), |
| tick_clock_(new base::DefaultTickClock()), |
| @@ -157,8 +158,8 @@ void VideoRendererImpl::Initialize( |
| video_frame_stream_->Initialize( |
| stream, base::Bind(&VideoRendererImpl::OnVideoFrameStreamInitialized, |
| weak_factory_.GetWeakPtr()), |
| - cdm_context, base::Bind(&VideoRendererImpl::OnStatisticsUpdate, |
| - weak_factory_.GetWeakPtr()), |
| + cdm_context, |
| + base::Bind(&VideoRendererImpl::BytesDecoded, weak_factory_.GetWeakPtr()), |
|
DaleCurtis
2016/06/17 23:03:17
This is only returned when a frame is decoded, so
alokp
2016/06/18 04:18:06
We could do that, but what do you want to do for A
|
| base::Bind(&VideoRendererImpl::OnWaitingForDecryptionKey, |
| weak_factory_.GetWeakPtr())); |
| } |
| @@ -317,6 +318,12 @@ void VideoRendererImpl::OnTimeStateChanged(bool time_progressing) { |
| } |
| } |
| +void VideoRendererImpl::BytesDecoded(uint64_t bytes) { |
| + DCHECK(task_runner_->BelongsToCurrentThread()); |
| + base::AutoLock auto_lock(lock_); |
| + bytes_decoded_ += bytes; |
| +} |
| + |
| void VideoRendererImpl::FrameReadyForCopyingToGpuMemoryBuffers( |
| VideoFrameStream::Status status, |
| const scoped_refptr<VideoFrame>& frame) { |
| @@ -533,6 +540,7 @@ void VideoRendererImpl::UpdateStats_Locked() { |
| if (frames_decoded_ || frames_dropped_) { |
| PipelineStatistics statistics; |
| + statistics.video_bytes_decoded = bytes_decoded_; |
| statistics.video_frames_decoded = frames_decoded_; |
| statistics.video_frames_dropped = frames_dropped_; |
| @@ -542,6 +550,7 @@ void VideoRendererImpl::UpdateStats_Locked() { |
| task_runner_->PostTask(FROM_HERE, |
| base::Bind(&VideoRendererImpl::OnStatisticsUpdate, |
| weak_factory_.GetWeakPtr(), statistics)); |
| + bytes_decoded_ = 0; |
| frames_decoded_ = 0; |
| frames_dropped_ = 0; |
| last_video_memory_usage_ = memory_usage; |