Chromium Code Reviews| Index: media/gpu/vaapi_video_decode_accelerator.cc |
| diff --git a/media/gpu/vaapi_video_decode_accelerator.cc b/media/gpu/vaapi_video_decode_accelerator.cc |
| index a92e7577de2ece482a4502cf7c1e027940221364..58d0b8f3df5159b07b13a689dcd84a7a3cd180ea 100644 |
| --- a/media/gpu/vaapi_video_decode_accelerator.cc |
| +++ b/media/gpu/vaapi_video_decode_accelerator.cc |
| @@ -811,10 +811,14 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( |
| surfaces_available_.Signal(); |
| } |
| - state_ = kDecoding; |
| - decoder_thread_task_runner_->PostTask( |
| - FROM_HERE, base::Bind(&VaapiVideoDecodeAccelerator::DecodeTask, |
| - base::Unretained(this))); |
| + // The resolution changing may happen while resetting or flushing. In this |
| + // case we do not change state and post DecodeTask(). |
| + if (state_ != kResetting && state_ != kFlushing) { |
|
johnylin1
2016/07/20 02:50:43
I ran overnight for AdaptivePlaybackTest#testH264_
Pawel Osciak
2016/07/20 04:28:34
Please also test with video_VideoSeek.
|
| + state_ = kDecoding; |
| + decoder_thread_task_runner_->PostTask( |
| + FROM_HERE, base::Bind(&VaapiVideoDecodeAccelerator::DecodeTask, |
| + base::Unretained(this))); |
| + } |
| } |
| #if defined(USE_OZONE) |