| Index: media/filters/ffmpeg_video_decoder.cc
|
| diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc
|
| index f8931e0eae42dcd17a83f995ae7da063f737f76c..ca26e8eb3730403068abc3129ad45e00e31ebe2d 100644
|
| --- a/media/filters/ffmpeg_video_decoder.cc
|
| +++ b/media/filters/ffmpeg_video_decoder.cc
|
| @@ -235,6 +235,9 @@ void FFmpegVideoDecoder::Stop(const base::Closure& closure) {
|
| return;
|
| }
|
|
|
| + if (decryptor_)
|
| + decryptor_->Stop();
|
| +
|
| stop_cb_ = closure;
|
|
|
| // Defer stopping if a read is pending.
|
| @@ -358,7 +361,8 @@ void FFmpegVideoDecoder::DoBufferDecrypted(
|
| return;
|
| }
|
|
|
| - if (decrypt_status == Decryptor::kError) {
|
| + if (decrypt_status == Decryptor::kNoKey ||
|
| + decrypt_status == Decryptor::kError) {
|
| state_ = kDecodeFinished;
|
| base::ResetAndReturn(&read_cb_).Run(kDecryptError, NULL);
|
| return;
|
|
|