Index: media/base/android/media_decoder_job.cc |
diff --git a/media/base/android/media_decoder_job.cc b/media/base/android/media_decoder_job.cc |
index 33b48302b0ec8f7dc447318efe424f9bf5a7a157..64beaf1aaa52af1529db49605cfbfc778b2167da 100644 |
--- a/media/base/android/media_decoder_job.cc |
+++ b/media/base/android/media_decoder_job.cc |
@@ -224,7 +224,11 @@ void MediaDecoderJob::DecodeInternal( |
if (needs_flush) { |
DVLOG(1) << "DecodeInternal needs flush."; |
input_eos_encountered_ = false; |
- media_codec_bridge_->Reset(); |
+ MediaCodecStatus reset_status = media_codec_bridge_->Reset(); |
+ if (MEDIA_CODEC_OK != reset_status) { |
+ callback.Run(reset_status, start_presentation_timestamp, 0); |
+ return; |
+ } |
} |
MediaCodecStatus input_status = MEDIA_CODEC_INPUT_END_OF_STREAM; |