Index: media/filters/decrypting_video_decoder.cc |
diff --git a/media/filters/decrypting_video_decoder.cc b/media/filters/decrypting_video_decoder.cc |
index a10d2e02a09f94dbc6731bab894bd66a1da293e2..5629e915ff1b8a8aef14dc736bdb3873936f399f 100644 |
--- a/media/filters/decrypting_video_decoder.cc |
+++ b/media/filters/decrypting_video_decoder.cc |
@@ -277,8 +277,12 @@ void DecryptingVideoDecoder::DeliverFrame( |
if (status == Decryptor::kNeedMoreData) { |
DVLOG(2) << "DeliverFrame() - kNeedMoreData"; |
- state_ = scoped_pending_buffer_to_decode->end_of_stream() ? kDecodeFinished |
- : kIdle; |
+ if (scoped_pending_buffer_to_decode->end_of_stream()) { |
+ state_ = kDecodeFinished; |
+ output_cb_.Run(media::VideoFrame::CreateEOSFrame()); |
+ } else { |
+ state_ = kIdle; |
+ } |
base::ResetAndReturn(&decode_cb_).Run(kOk); |
return; |
} |