Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/audio/cras/cras_input.h" | 5 #include "media/audio/cras/cras_input.h" |
| 6 | 6 |
| 7 #include <cras_input.h> | |
| 7 #include <math.h> | 8 #include <math.h> |
| 8 | 9 |
| 9 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| 10 #include "base/logging.h" | 11 #include "base/logging.h" |
| 11 #include "base/time/time.h" | 12 #include "base/time/time.h" |
| 12 #include "media/audio/audio_manager.h" | 13 #include "media/audio/audio_manager.h" |
| 13 #include "media/audio/cras/audio_manager_cras.h" | 14 #include "media/audio/cras/audio_manager_cras.h" |
| 14 | 15 |
| 15 namespace media { | 16 namespace media { |
| 16 | 17 |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 152 for (size_t i = 0; i < arraysize(kChannelMap); ++i) { | 153 for (size_t i = 0; i < arraysize(kChannelMap); ++i) { |
| 153 layout[kChannelMap[i]] = ChannelOrder(params_.channel_layout(), | 154 layout[kChannelMap[i]] = ChannelOrder(params_.channel_layout(), |
| 154 static_cast<Channels>(i)); | 155 static_cast<Channels>(i)); |
| 155 } | 156 } |
| 156 if (cras_audio_format_set_channel_layout(audio_format, layout) != 0) { | 157 if (cras_audio_format_set_channel_layout(audio_format, layout) != 0) { |
| 157 DLOG(WARNING) << "Error setting channel layout."; | 158 DLOG(WARNING) << "Error setting channel layout."; |
| 158 callback->OnError(this); | 159 callback->OnError(this); |
| 159 return; | 160 return; |
| 160 } | 161 } |
| 161 | 162 |
| 163 uint32_t flags = 0; | |
| 164 if (params_.effects() & AudioParameters::PlatformEffectsMask::HOTWORD) | |
| 165 flags = HOTWORD_STREAM; | |
|
Steve McKay
2014/12/17 17:41:29
This is still broken for me. Where is this value d
dgreid
2014/12/17 17:44:20
in cras_types.h, you'll need an up to date libcras
| |
| 166 | |
| 162 unsigned int frames_per_packet = params_.frames_per_buffer(); | 167 unsigned int frames_per_packet = params_.frames_per_buffer(); |
| 163 cras_stream_params* stream_params = cras_client_stream_params_create( | 168 cras_stream_params* stream_params = cras_client_stream_params_create( |
| 164 stream_direction_, | 169 stream_direction_, |
| 165 frames_per_packet, // Total latency. | 170 frames_per_packet, // Total latency. |
| 166 frames_per_packet, // Call back when this many ready. | 171 frames_per_packet, // Call back when this many ready. |
| 167 frames_per_packet, // Minimum Callback level ignored for capture streams. | 172 frames_per_packet, // Minimum Callback level ignored for capture streams. |
| 168 CRAS_STREAM_TYPE_DEFAULT, | 173 CRAS_STREAM_TYPE_DEFAULT, |
| 169 0, // Unused flags. | 174 flags, |
| 170 this, | 175 this, |
| 171 CrasInputStream::SamplesReady, | 176 CrasInputStream::SamplesReady, |
| 172 CrasInputStream::StreamError, | 177 CrasInputStream::StreamError, |
| 173 audio_format); | 178 audio_format); |
| 174 if (!stream_params) { | 179 if (!stream_params) { |
| 175 DLOG(WARNING) << "Error setting up stream parameters."; | 180 DLOG(WARNING) << "Error setting up stream parameters."; |
| 176 callback_->OnError(this); | 181 callback_->OnError(this); |
| 177 callback_ = NULL; | 182 callback_ = NULL; |
| 178 cras_audio_format_destroy(audio_format); | 183 cras_audio_format_destroy(audio_format); |
| 179 return; | 184 return; |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 307 | 312 |
| 308 double CrasInputStream::GetVolumeRatioFromDecibels(double dB) const { | 313 double CrasInputStream::GetVolumeRatioFromDecibels(double dB) const { |
| 309 return pow(10, dB / 20.0); | 314 return pow(10, dB / 20.0); |
| 310 } | 315 } |
| 311 | 316 |
| 312 double CrasInputStream::GetDecibelsFromVolumeRatio(double volume_ratio) const { | 317 double CrasInputStream::GetDecibelsFromVolumeRatio(double volume_ratio) const { |
| 313 return 20 * log10(volume_ratio); | 318 return 20 * log10(volume_ratio); |
| 314 } | 319 } |
| 315 | 320 |
| 316 } // namespace media | 321 } // namespace media |
| OLD | NEW |