| Index: media/blink/webmediaplayer_impl.cc
|
| diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
|
| index 813a643f7cf0fc1e93183549f5163e3738b9889f..2dc413db109786c881801f81bd955bd672f6b1d9 100644
|
| --- a/media/blink/webmediaplayer_impl.cc
|
| +++ b/media/blink/webmediaplayer_impl.cc
|
| @@ -702,6 +702,15 @@ void WebMediaPlayerImpl::selectedVideoTrackChanged(
|
| pipeline_controller_.OnSelectedVideoTrackChanged(selected_video_track_id);
|
| }
|
|
|
| +bool WebMediaPlayerImpl::getLastUploadedFrameInfo(unsigned* width,
|
| + unsigned* height,
|
| + double* timestamp) {
|
| + *width = last_uploaded_frame_width_;
|
| + *height = last_uploaded_frame_height_;
|
| + *timestamp = last_uploaded_frame_timestamp_;
|
| + return true;
|
| +}
|
| +
|
| blink::WebSize WebMediaPlayerImpl::naturalSize() const {
|
| DCHECK(main_task_runner_->BelongsToCurrentThread());
|
|
|
| @@ -894,6 +903,8 @@ void WebMediaPlayerImpl::paint(blink::WebCanvas* canvas,
|
|
|
| scoped_refptr<VideoFrame> video_frame = GetCurrentFrameFromCompositor();
|
|
|
| + UpdateLastUploadedFrameInfo(video_frame.get());
|
| +
|
| gfx::Rect gfx_rect(rect);
|
| Context3D context_3d;
|
| if (video_frame.get() && video_frame->HasTextures()) {
|
| @@ -972,6 +983,8 @@ bool WebMediaPlayerImpl::copyVideoTextureToPlatformTexture(
|
| return false;
|
| }
|
|
|
| + UpdateLastUploadedFrameInfo(video_frame.get());
|
| +
|
| Context3D context_3d;
|
| if (!context_3d_cb_.is_null())
|
| context_3d = context_3d_cb_.Run();
|
| @@ -2326,4 +2339,17 @@ void WebMediaPlayerImpl::RecordUnderflowDuration(base::TimeDelta duration) {
|
| UMA_HISTOGRAM_TIMES("Media.UnderflowDuration.MSE", duration);
|
| }
|
|
|
| +void WebMediaPlayerImpl::UpdateLastUploadedFrameInfo(VideoFrame* video_frame) {
|
| + if (!video_frame) {
|
| + last_uploaded_frame_width_ = 0;
|
| + last_uploaded_frame_height_ = 0;
|
| + last_uploaded_frame_timestamp_ = 0.0;
|
| + return;
|
| + }
|
| +
|
| + last_uploaded_frame_width_ = video_frame->natural_size().width();
|
| + last_uploaded_frame_height_ = video_frame->natural_size().height();
|
| + last_uploaded_frame_timestamp_ = video_frame->timestamp().InSecondsF();
|
| +}
|
| +
|
| } // namespace media
|
|
|