| 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__;
|
|
|