| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/filters/decoder_stream.h" | 5 #include "media/filters/decoder_stream.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/callback_helpers.h" | 10 #include "base/callback_helpers.h" |
| (...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 template <DemuxerStream::Type StreamType> | 677 template <DemuxerStream::Type StreamType> |
| 678 void DecoderStream<StreamType>::ReinitializeDecoder() { | 678 void DecoderStream<StreamType>::ReinitializeDecoder() { |
| 679 FUNCTION_DVLOG(2); | 679 FUNCTION_DVLOG(2); |
| 680 DCHECK(task_runner_->BelongsToCurrentThread()); | 680 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 681 DCHECK_EQ(state_, STATE_FLUSHING_DECODER); | 681 DCHECK_EQ(state_, STATE_FLUSHING_DECODER); |
| 682 DCHECK_EQ(pending_decode_requests_, 0); | 682 DCHECK_EQ(pending_decode_requests_, 0); |
| 683 | 683 |
| 684 state_ = STATE_REINITIALIZING_DECODER; | 684 state_ = STATE_REINITIALIZING_DECODER; |
| 685 // Decoders should not need a new CDM during reinitialization. | 685 // Decoders should not need a new CDM during reinitialization. |
| 686 traits_.InitializeDecoder( | 686 traits_.InitializeDecoder( |
| 687 decoder_.get(), stream_, nullptr, | 687 decoder_.get(), stream_, cdm_context_, |
| 688 base::Bind(&DecoderStream<StreamType>::OnDecoderReinitialized, | 688 base::Bind(&DecoderStream<StreamType>::OnDecoderReinitialized, |
| 689 weak_factory_.GetWeakPtr()), | 689 weak_factory_.GetWeakPtr()), |
| 690 base::Bind(&DecoderStream<StreamType>::OnDecodeOutputReady, | 690 base::Bind(&DecoderStream<StreamType>::OnDecodeOutputReady, |
| 691 fallback_weak_factory_.GetWeakPtr())); | 691 fallback_weak_factory_.GetWeakPtr())); |
| 692 } | 692 } |
| 693 | 693 |
| 694 template <DemuxerStream::Type StreamType> | 694 template <DemuxerStream::Type StreamType> |
| 695 void DecoderStream<StreamType>::OnDecoderReinitialized(bool success) { | 695 void DecoderStream<StreamType>::OnDecoderReinitialized(bool success) { |
| 696 FUNCTION_DVLOG(2); | 696 FUNCTION_DVLOG(2); |
| 697 DCHECK(task_runner_->BelongsToCurrentThread()); | 697 DCHECK(task_runner_->BelongsToCurrentThread()); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 773 } | 773 } |
| 774 | 774 |
| 775 // The resetting process will be continued in OnDecoderReinitialized(). | 775 // The resetting process will be continued in OnDecoderReinitialized(). |
| 776 ReinitializeDecoder(); | 776 ReinitializeDecoder(); |
| 777 } | 777 } |
| 778 | 778 |
| 779 template class DecoderStream<DemuxerStream::VIDEO>; | 779 template class DecoderStream<DemuxerStream::VIDEO>; |
| 780 template class DecoderStream<DemuxerStream::AUDIO>; | 780 template class DecoderStream<DemuxerStream::AUDIO>; |
| 781 | 781 |
| 782 } // namespace media | 782 } // namespace media |
| OLD | NEW |