| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/mojo/services/mojo_audio_decoder_service.h" | 5 #include "media/mojo/services/mojo_audio_decoder_service.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "media/base/cdm_context.h" | 10 #include "media/base/cdm_context.h" |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 | 96 |
| 97 if (success) { | 97 if (success) { |
| 98 cdm_ = cdm; | 98 cdm_ = cdm; |
| 99 callback.Run(success, decoder_->NeedsBitstreamConversion()); | 99 callback.Run(success, decoder_->NeedsBitstreamConversion()); |
| 100 } else { | 100 } else { |
| 101 // Do not call decoder_->NeedsBitstreamConversion() if init failed. | 101 // Do not call decoder_->NeedsBitstreamConversion() if init failed. |
| 102 callback.Run(false, false); | 102 callback.Run(false, false); |
| 103 } | 103 } |
| 104 } | 104 } |
| 105 | 105 |
| 106 static interfaces::AudioDecoder::DecodeStatus ConvertDecodeStatus( | |
| 107 media::DecodeStatus status) { | |
| 108 switch (status) { | |
| 109 case media::DecodeStatus::OK: | |
| 110 return interfaces::AudioDecoder::DecodeStatus::OK; | |
| 111 case media::DecodeStatus::ABORTED: | |
| 112 return interfaces::AudioDecoder::DecodeStatus::ABORTED; | |
| 113 case media::DecodeStatus::DECODE_ERROR: | |
| 114 return interfaces::AudioDecoder::DecodeStatus::DECODE_ERROR; | |
| 115 } | |
| 116 NOTREACHED(); | |
| 117 return interfaces::AudioDecoder::DecodeStatus::DECODE_ERROR; | |
| 118 } | |
| 119 | |
| 120 void MojoAudioDecoderService::OnDecodeStatus(const DecodeCallback& callback, | 106 void MojoAudioDecoderService::OnDecodeStatus(const DecodeCallback& callback, |
| 121 media::DecodeStatus status) { | 107 media::DecodeStatus status) { |
| 122 DVLOG(3) << __FUNCTION__ << " status:" << status; | 108 DVLOG(3) << __FUNCTION__ << " status:" << status; |
| 123 callback.Run(ConvertDecodeStatus(status)); | 109 callback.Run(static_cast<interfaces::DecodeStatus>(status)); |
| 124 } | 110 } |
| 125 | 111 |
| 126 void MojoAudioDecoderService::OnResetDone(const ResetCallback& callback) { | 112 void MojoAudioDecoderService::OnResetDone(const ResetCallback& callback) { |
| 127 DVLOG(1) << __FUNCTION__; | 113 DVLOG(1) << __FUNCTION__; |
| 128 callback.Run(); | 114 callback.Run(); |
| 129 } | 115 } |
| 130 | 116 |
| 131 void MojoAudioDecoderService::OnAudioBufferReady( | 117 void MojoAudioDecoderService::OnAudioBufferReady( |
| 132 const scoped_refptr<AudioBuffer>& audio_buffer) { | 118 const scoped_refptr<AudioBuffer>& audio_buffer) { |
| 133 DVLOG(1) << __FUNCTION__; | 119 DVLOG(1) << __FUNCTION__; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 158 uint32_t bytes_read = bytes_to_read; | 144 uint32_t bytes_read = bytes_to_read; |
| 159 CHECK_EQ(ReadDataRaw(consumer_handle_.get(), media_buffer->writable_data(), | 145 CHECK_EQ(ReadDataRaw(consumer_handle_.get(), media_buffer->writable_data(), |
| 160 &bytes_read, MOJO_READ_DATA_FLAG_ALL_OR_NONE), | 146 &bytes_read, MOJO_READ_DATA_FLAG_ALL_OR_NONE), |
| 161 MOJO_RESULT_OK); | 147 MOJO_RESULT_OK); |
| 162 CHECK_EQ(bytes_to_read, bytes_read); | 148 CHECK_EQ(bytes_to_read, bytes_read); |
| 163 | 149 |
| 164 return media_buffer; | 150 return media_buffer; |
| 165 } | 151 } |
| 166 | 152 |
| 167 } // namespace media | 153 } // namespace media |
| OLD | NEW |