Index: media/filters/decoder_selector.cc |
diff --git a/media/filters/decoder_selector.cc b/media/filters/decoder_selector.cc |
index 908bb5525be2abeee7e6d0d4b4cb2d7e30559d2a..7214b338be6b5bbdfb369029dcba014e589383cc 100644 |
--- a/media/filters/decoder_selector.cc |
+++ b/media/filters/decoder_selector.cc |
@@ -62,7 +62,13 @@ DecoderSelector<StreamType>::DecoderSelector( |
template <DemuxerStream::Type StreamType> |
DecoderSelector<StreamType>::~DecoderSelector() { |
DVLOG(2) << __FUNCTION__; |
- DCHECK(select_decoder_cb_.is_null()); |
+ DCHECK(task_runner_->BelongsToCurrentThread()); |
+ |
+ if (!select_decoder_cb_.is_null()) |
+ ReturnNullDecoder(); |
+ |
+ decoder_.reset(); |
+ decrypted_stream_.reset(); |
} |
template <DemuxerStream::Type StreamType> |
@@ -112,21 +118,6 @@ void DecoderSelector<StreamType>::SelectDecoder( |
} |
template <DemuxerStream::Type StreamType> |
-void DecoderSelector<StreamType>::Abort() { |
- DVLOG(2) << __FUNCTION__; |
- DCHECK(task_runner_->BelongsToCurrentThread()); |
- |
- // Invalidate all weak pointers so that pending callbacks won't fire. |
- weak_ptr_factory_.InvalidateWeakPtrs(); |
- |
- decoder_.reset(); |
- decrypted_stream_.reset(); |
- |
- if (!select_decoder_cb_.is_null()) |
- ReturnNullDecoder(); |
-} |
- |
-template <DemuxerStream::Type StreamType> |
void DecoderSelector<StreamType>::DecryptingDecoderInitDone( |
PipelineStatus status) { |
DVLOG(2) << __FUNCTION__; |