| Index: media/gpu/vp9_decoder.cc
|
| diff --git a/media/gpu/vp9_decoder.cc b/media/gpu/vp9_decoder.cc
|
| index ec10b768b3753d5b36bd71a888f6418f1a0437d8..993a8a149ae23bc036906e9c6623be15eb436544 100644
|
| --- a/media/gpu/vp9_decoder.cc
|
| +++ b/media/gpu/vp9_decoder.cc
|
| @@ -17,7 +17,7 @@ VP9Decoder::VP9Accelerator::VP9Accelerator() {}
|
| VP9Decoder::VP9Accelerator::~VP9Accelerator() {}
|
|
|
| VP9Decoder::VP9Decoder(VP9Accelerator* accelerator)
|
| - : state_(kNeedStreamMetadata), accelerator_(accelerator) {
|
| + : state_(kNeedStreamMetadata), parser_(false), accelerator_(accelerator) {
|
| DCHECK(accelerator_);
|
| ref_frames_.resize(kVp9NumRefFrames);
|
| }
|
| @@ -54,7 +54,7 @@ VP9Decoder::DecodeResult VP9Decoder::Decode() {
|
| // Read a new frame header if one is not awaiting decoding already.
|
| if (!curr_frame_hdr_) {
|
| std::unique_ptr<Vp9FrameHeader> hdr(new Vp9FrameHeader());
|
| - Vp9Parser::Result res = parser_.ParseNextFrame(hdr.get());
|
| + Vp9Parser::Result res = parser_.ParseNextFrame(hdr.get(), nullptr);
|
| switch (res) {
|
| case Vp9Parser::kOk:
|
| curr_frame_hdr_.reset(hdr.release());
|
| @@ -67,6 +67,9 @@ VP9Decoder::DecodeResult VP9Decoder::Decode() {
|
| DVLOG(1) << "Error parsing stream";
|
| SetError();
|
| return kDecodeError;
|
| +
|
| + case Vp9Parser::kAwaitingRefresh:
|
| + NOTREACHED();
|
| }
|
| }
|
|
|
| @@ -86,7 +89,7 @@ VP9Decoder::DecodeResult VP9Decoder::Decode() {
|
| // This frame header only instructs us to display one of the
|
| // previously-decoded frames, but has no frame data otherwise. Display
|
| // and continue decoding subsequent frames.
|
| - size_t frame_to_show = curr_frame_hdr_->frame_to_show;
|
| + size_t frame_to_show = curr_frame_hdr_->frame_to_show_map_idx;
|
| if (frame_to_show >= ref_frames_.size() || !ref_frames_[frame_to_show]) {
|
| DVLOG(1) << "Request to show an invalid frame";
|
| SetError();
|
| @@ -102,7 +105,8 @@ VP9Decoder::DecodeResult VP9Decoder::Decode() {
|
| continue;
|
| }
|
|
|
| - gfx::Size new_pic_size(curr_frame_hdr_->width, curr_frame_hdr_->height);
|
| + gfx::Size new_pic_size(curr_frame_hdr_->frame_width,
|
| + curr_frame_hdr_->frame_height);
|
| DCHECK(!new_pic_size.IsEmpty());
|
|
|
| if (new_pic_size != pic_size_) {
|
|
|