Index: media/gpu/vp9_decoder.cc |
diff --git a/media/gpu/vp9_decoder.cc b/media/gpu/vp9_decoder.cc |
index b24f2466846e28485dd17b23372c2a57e0deb302..aa344a44d422dda6203e8e2783828c28615aed06 100644 |
--- a/media/gpu/vp9_decoder.cc |
+++ b/media/gpu/vp9_decoder.cc |
@@ -112,6 +112,13 @@ VP9Decoder::DecodeResult VP9Decoder::Decode() { |
curr_frame_hdr_->frame_height); |
DCHECK(!new_pic_size.IsEmpty()); |
+ gfx::Rect new_render_rect(curr_frame_hdr_->render_width, |
Pawel Osciak
2017/06/16 07:14:01
Perhaps move this to after new_pic_size checks and
johnylin1
2017/06/16 08:15:10
Done.
|
+ curr_frame_hdr_->render_height); |
+ // For safety, check the validity of render size or leave it as (0, 0). |
+ if (!gfx::Rect(new_pic_size).Contains(new_render_rect)) |
+ new_render_rect = gfx::Rect(); |
Pawel Osciak
2017/06/16 07:14:01
Please add a log for this error.
johnylin1
2017/06/16 08:15:10
Done.
|
+ DVLOG(1) << "Render resolution: " << new_render_rect.ToString(); |
+ |
if (new_pic_size != pic_size_) { |
DVLOG(1) << "New resolution: " << new_pic_size.ToString(); |
@@ -138,6 +145,7 @@ VP9Decoder::DecodeResult VP9Decoder::Decode() { |
if (!pic) |
return kRanOutOfSurfaces; |
+ pic->visible_rect = new_render_rect; |
pic->frame_hdr.reset(curr_frame_hdr_.release()); |
if (!DecodeAndOutputPicture(pic)) { |