Index: media/gpu/android_video_decode_accelerator.cc |
diff --git a/media/gpu/android_video_decode_accelerator.cc b/media/gpu/android_video_decode_accelerator.cc |
index 5b8c856701c5645cd6324720a9d1086ba9b0532c..774e19960476ed094ef85b060a29a1b88c977d7b 100644 |
--- a/media/gpu/android_video_decode_accelerator.cc |
+++ b/media/gpu/android_video_decode_accelerator.cc |
@@ -963,6 +963,7 @@ void AndroidVideoDecodeAccelerator::SendDecodedFrameToClient( |
void AndroidVideoDecodeAccelerator::Decode( |
const BitstreamBuffer& bitstream_buffer) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
+ no_decode_timeout_.Stop(); |
liberato (no reviews please)
2016/07/13 05:25:55
i think that you also need to stop the timer in Re
DaleCurtis
2016/07/13 21:12:21
Done.
|
// If we previously deferred a codec restart, take care of it now. This can |
// happen on older devices where configuration changes require a codec reset. |
@@ -1202,7 +1203,8 @@ void AndroidVideoDecodeAccelerator::OnCodecConfigured( |
} |
state_ = NO_ERROR; |
- |
+ no_decode_timeout_.Start(FROM_HERE, base::TimeDelta::FromSeconds(2), this, |
liberato (no reviews please)
2016/07/13 05:25:55
2 => kSomethingSomething
DaleCurtis
2016/07/13 21:12:21
Done.
|
+ &AndroidVideoDecodeAccelerator::CloseIdleCodec); |
ManageTimer(true); |
} |
@@ -1311,7 +1313,7 @@ void AndroidVideoDecodeAccelerator::ResetCodecState() { |
// Prior to JB-MR2, flush() had several bugs (b/8125974, b/8347958) so we must |
// delete the MediaCodec and create a new one. The full reconfigure is much |
// slower and may cause visible freezing if done mid-stream. |
- if (!did_codec_error_happen && |
+ if (!did_codec_error_happen && media_codec_ && |
base::android::BuildInfo::GetInstance()->sdk_int() >= 18) { |
DVLOG(3) << __FUNCTION__ << " Flushing MediaCodec."; |
media_codec_->Flush(); |
@@ -1786,4 +1788,11 @@ bool AndroidVideoDecodeAccelerator::IsMediaCodecSoftwareDecodingForbidden() |
codec_config_->codec_ == media::kCodecVP9); |
} |
+void AndroidVideoDecodeAccelerator::CloseIdleCodec() { |
+ if (media_codec_) { |
liberato (no reviews please)
2016/07/13 05:25:55
please consider early out.
DaleCurtis
2016/07/13 21:12:21
Done.
|
+ ReleaseMediaCodec(); |
+ codec_needs_reset_ = true; |
+ } |
+} |
+ |
} // namespace media |