OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chromecast/media/cma/decoder/cast_audio_decoder.h" | 5 #include "chromecast/media/cma/decoder/cast_audio_decoder.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 #include <limits> | 8 #include <limits> |
9 #include <queue> | 9 #include <queue> |
10 #include <utility> | 10 #include <utility> |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 config_.extra_data.assign( | 84 config_.extra_data.assign( |
85 kFakeOpusExtraData, | 85 kFakeOpusExtraData, |
86 kFakeOpusExtraData + sizeof(kFakeOpusExtraData)); | 86 kFakeOpusExtraData + sizeof(kFakeOpusExtraData)); |
87 decoder_.reset(new ::media::OpusAudioDecoder(task_runner_)); | 87 decoder_.reset(new ::media::OpusAudioDecoder(task_runner_)); |
88 } else { | 88 } else { |
89 decoder_.reset(new ::media::FFmpegAudioDecoder( | 89 decoder_.reset(new ::media::FFmpegAudioDecoder( |
90 task_runner_, make_scoped_refptr(new ::media::MediaLog()))); | 90 task_runner_, make_scoped_refptr(new ::media::MediaLog()))); |
91 } | 91 } |
92 decoder_->Initialize( | 92 decoder_->Initialize( |
93 media::DecoderConfigAdapter::ToMediaAudioDecoderConfig(config_), | 93 media::DecoderConfigAdapter::ToMediaAudioDecoderConfig(config_), |
94 ::media::SetCdmReadyCB(), | 94 nullptr, base::Bind(&CastAudioDecoderImpl::OnInitialized, self), |
95 base::Bind(&CastAudioDecoderImpl::OnInitialized, self), | |
96 base::Bind(&CastAudioDecoderImpl::OnDecoderOutput, self)); | 95 base::Bind(&CastAudioDecoderImpl::OnDecoderOutput, self)); |
97 // Unfortunately there is no result from decoder_->Initialize() until later | 96 // Unfortunately there is no result from decoder_->Initialize() until later |
98 // (the pipeline status callback is posted to the task runner). | 97 // (the pipeline status callback is posted to the task runner). |
99 } | 98 } |
100 | 99 |
101 // CastAudioDecoder implementation: | 100 // CastAudioDecoder implementation: |
102 bool Decode(const scoped_refptr<media::DecoderBufferBase>& data, | 101 bool Decode(const scoped_refptr<media::DecoderBufferBase>& data, |
103 const DecodeCallback& decode_callback) override { | 102 const DecodeCallback& decode_callback) override { |
104 DCHECK(!decode_callback.is_null()); | 103 DCHECK(!decode_callback.is_null()); |
105 DCHECK(task_runner_->BelongsToCurrentThread()); | 104 DCHECK(task_runner_->BelongsToCurrentThread()); |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 return 2; | 289 return 2; |
291 case CastAudioDecoder::OutputFormat::kOutputPlanarFloat: | 290 case CastAudioDecoder::OutputFormat::kOutputPlanarFloat: |
292 return 4; | 291 return 4; |
293 } | 292 } |
294 NOTREACHED(); | 293 NOTREACHED(); |
295 return 1; | 294 return 1; |
296 } | 295 } |
297 | 296 |
298 } // namespace media | 297 } // namespace media |
299 } // namespace chromecast | 298 } // namespace chromecast |
OLD | NEW |