| Index: webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc | 
| diff --git a/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc b/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc | 
| index ef5e8e3d7356e374b519739e98a07d34bd6d450a..73a7eb659bdff968fc05f9f33b37cf30fea70c98 100644 | 
| --- a/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc | 
| +++ b/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc | 
| @@ -1306,18 +1306,18 @@ int VP8DecoderImpl::ReturnFrame(const vpx_image_t* img, | 
| last_frame_width_ = img->d_w; | 
| last_frame_height_ = img->d_h; | 
| // Allocate memory for decoded image. | 
| -  VideoFrame decoded_image(buffer_pool_.CreateBuffer(img->d_w, img->d_h), | 
| -                           timestamp, 0, kVideoRotation_0); | 
| +  rtc::scoped_refptr<I420Buffer> buffer = | 
| +      buffer_pool_.CreateBuffer(img->d_w, img->d_h); | 
| + | 
| libyuv::I420Copy(img->planes[VPX_PLANE_Y], img->stride[VPX_PLANE_Y], | 
| img->planes[VPX_PLANE_U], img->stride[VPX_PLANE_U], | 
| img->planes[VPX_PLANE_V], img->stride[VPX_PLANE_V], | 
| -                   decoded_image.video_frame_buffer()->MutableDataY(), | 
| -                   decoded_image.video_frame_buffer()->StrideY(), | 
| -                   decoded_image.video_frame_buffer()->MutableDataU(), | 
| -                   decoded_image.video_frame_buffer()->StrideU(), | 
| -                   decoded_image.video_frame_buffer()->MutableDataV(), | 
| -                   decoded_image.video_frame_buffer()->StrideV(), | 
| +                   buffer->MutableDataY(), buffer->StrideY(), | 
| +                   buffer->MutableDataU(), buffer->StrideU(), | 
| +                   buffer->MutableDataV(), buffer->StrideV(), | 
| img->d_w, img->d_h); | 
| + | 
| +  VideoFrame decoded_image(buffer, timestamp, 0, kVideoRotation_0); | 
| decoded_image.set_ntp_time_ms(ntp_time_ms); | 
| int ret = decode_complete_callback_->Decoded(decoded_image); | 
| if (ret != 0) | 
|  |