| 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_selector.h" | 5 #include "media/filters/decoder_selector.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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 output_cb_); | 138 output_cb_); |
| 139 } | 139 } |
| 140 | 140 |
| 141 template <DemuxerStream::Type StreamType> | 141 template <DemuxerStream::Type StreamType> |
| 142 void DecoderSelector<StreamType>::DecryptingDecoderInitDone(bool success) { | 142 void DecoderSelector<StreamType>::DecryptingDecoderInitDone(bool success) { |
| 143 DVLOG(2) << __FUNCTION__; | 143 DVLOG(2) << __FUNCTION__; |
| 144 DCHECK(task_runner_->BelongsToCurrentThread()); | 144 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 145 | 145 |
| 146 if (success) { | 146 if (success) { |
| 147 base::ResetAndReturn(&select_decoder_cb_) | 147 base::ResetAndReturn(&select_decoder_cb_) |
| 148 .Run(std::move(decoder_), scoped_ptr<DecryptingDemuxerStream>()); | 148 .Run(std::move(decoder_), std::unique_ptr<DecryptingDemuxerStream>()); |
| 149 return; | 149 return; |
| 150 } | 150 } |
| 151 | 151 |
| 152 decoder_.reset(); | 152 decoder_.reset(); |
| 153 | 153 |
| 154 // When we get here decrypt-and-decode is not supported. Try to use | 154 // When we get here decrypt-and-decode is not supported. Try to use |
| 155 // DecryptingDemuxerStream to do decrypt-only. | 155 // DecryptingDemuxerStream to do decrypt-only. |
| 156 InitializeDecryptingDemuxerStream(); | 156 InitializeDecryptingDemuxerStream(); |
| 157 } | 157 } |
| 158 #endif // !defined(OS_ANDROID) | 158 #endif // !defined(OS_ANDROID) |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 | 224 |
| 225 base::ResetAndReturn(&select_decoder_cb_) | 225 base::ResetAndReturn(&select_decoder_cb_) |
| 226 .Run(std::move(decoder_), std::move(decrypted_stream_)); | 226 .Run(std::move(decoder_), std::move(decrypted_stream_)); |
| 227 } | 227 } |
| 228 | 228 |
| 229 template <DemuxerStream::Type StreamType> | 229 template <DemuxerStream::Type StreamType> |
| 230 void DecoderSelector<StreamType>::ReturnNullDecoder() { | 230 void DecoderSelector<StreamType>::ReturnNullDecoder() { |
| 231 DVLOG(2) << __FUNCTION__; | 231 DVLOG(2) << __FUNCTION__; |
| 232 DCHECK(task_runner_->BelongsToCurrentThread()); | 232 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 233 base::ResetAndReturn(&select_decoder_cb_) | 233 base::ResetAndReturn(&select_decoder_cb_) |
| 234 .Run(scoped_ptr<Decoder>(), | 234 .Run(std::unique_ptr<Decoder>(), |
| 235 scoped_ptr<DecryptingDemuxerStream>()); | 235 std::unique_ptr<DecryptingDemuxerStream>()); |
| 236 } | 236 } |
| 237 | 237 |
| 238 // These forward declarations tell the compiler that we will use | 238 // These forward declarations tell the compiler that we will use |
| 239 // DecoderSelector with these arguments, allowing us to keep these definitions | 239 // DecoderSelector with these arguments, allowing us to keep these definitions |
| 240 // in our .cc without causing linker errors. This also means if anyone tries to | 240 // in our .cc without causing linker errors. This also means if anyone tries to |
| 241 // instantiate a DecoderSelector with anything but these two specializations | 241 // instantiate a DecoderSelector with anything but these two specializations |
| 242 // they'll most likely get linker errors. | 242 // they'll most likely get linker errors. |
| 243 template class DecoderSelector<DemuxerStream::AUDIO>; | 243 template class DecoderSelector<DemuxerStream::AUDIO>; |
| 244 template class DecoderSelector<DemuxerStream::VIDEO>; | 244 template class DecoderSelector<DemuxerStream::VIDEO>; |
| 245 | 245 |
| 246 } // namespace media | 246 } // namespace media |
| OLD | NEW |