Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(524)

Side by Side Diff: media/audio/cras/cras_input.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <math.h> 7 #include <math.h>
8 8
9 #include "base/basictypes.h"
10 #include "base/logging.h" 9 #include "base/logging.h"
11 #include "base/time/time.h" 10 #include "base/time/time.h"
12 #include "media/audio/audio_manager.h" 11 #include "media/audio/audio_manager.h"
13 #include "media/audio/cras/audio_manager_cras.h" 12 #include "media/audio/cras/audio_manager_cras.h"
14 13
15 namespace media { 14 namespace media {
16 15
17 CrasInputStream::CrasInputStream(const AudioParameters& params, 16 CrasInputStream::CrasInputStream(const AudioParameters& params,
18 AudioManagerCras* manager, 17 AudioManagerCras* manager,
19 const std::string& device_id) 18 const std::string& device_id)
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 params_.channels()); 155 params_.channels());
157 if (!audio_format) { 156 if (!audio_format) {
158 DLOG(WARNING) << "Error setting up audio parameters."; 157 DLOG(WARNING) << "Error setting up audio parameters.";
159 callback_->OnError(this); 158 callback_->OnError(this);
160 callback_ = NULL; 159 callback_ = NULL;
161 return; 160 return;
162 } 161 }
163 162
164 // Initialize channel layout to all -1 to indicate that none of 163 // Initialize channel layout to all -1 to indicate that none of
165 // the channels is set in the layout. 164 // the channels is set in the layout.
166 int8 layout[CRAS_CH_MAX]; 165 int8_t layout[CRAS_CH_MAX];
167 for (size_t i = 0; i < arraysize(layout); ++i) 166 for (size_t i = 0; i < arraysize(layout); ++i)
168 layout[i] = -1; 167 layout[i] = -1;
169 168
170 // Converts to CRAS defined channels. ChannelOrder will return -1 169 // Converts to CRAS defined channels. ChannelOrder will return -1
171 // for channels that are not present in params_.channel_layout(). 170 // for channels that are not present in params_.channel_layout().
172 for (size_t i = 0; i < arraysize(kChannelMap); ++i) { 171 for (size_t i = 0; i < arraysize(kChannelMap); ++i) {
173 layout[kChannelMap[i]] = ChannelOrder(params_.channel_layout(), 172 layout[kChannelMap[i]] = ChannelOrder(params_.channel_layout(),
174 static_cast<Channels>(i)); 173 static_cast<Channels>(i));
175 } 174 }
176 if (cras_audio_format_set_channel_layout(audio_format, layout) != 0) { 175 if (cras_audio_format_set_channel_layout(audio_format, layout) != 0) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 // Removing the stream from the client stops audio. 232 // Removing the stream from the client stops audio.
234 cras_client_rm_stream(client_, stream_id_); 233 cras_client_rm_stream(client_, stream_id_);
235 234
236 started_ = false; 235 started_ = false;
237 callback_ = NULL; 236 callback_ = NULL;
238 } 237 }
239 238
240 // Static callback asking for samples. Run on high priority thread. 239 // Static callback asking for samples. Run on high priority thread.
241 int CrasInputStream::SamplesReady(cras_client* client, 240 int CrasInputStream::SamplesReady(cras_client* client,
242 cras_stream_id_t stream_id, 241 cras_stream_id_t stream_id,
243 uint8* samples, 242 uint8_t* samples,
244 size_t frames, 243 size_t frames,
245 const timespec* sample_ts, 244 const timespec* sample_ts,
246 void* arg) { 245 void* arg) {
247 CrasInputStream* me = static_cast<CrasInputStream*>(arg); 246 CrasInputStream* me = static_cast<CrasInputStream*>(arg);
248 me->ReadAudio(frames, samples, sample_ts); 247 me->ReadAudio(frames, samples, sample_ts);
249 return frames; 248 return frames;
250 } 249 }
251 250
252 // Static callback for stream errors. 251 // Static callback for stream errors.
253 int CrasInputStream::StreamError(cras_client* client, 252 int CrasInputStream::StreamError(cras_client* client,
254 cras_stream_id_t stream_id, 253 cras_stream_id_t stream_id,
255 int err, 254 int err,
256 void* arg) { 255 void* arg) {
257 CrasInputStream* me = static_cast<CrasInputStream*>(arg); 256 CrasInputStream* me = static_cast<CrasInputStream*>(arg);
258 me->NotifyStreamError(err); 257 me->NotifyStreamError(err);
259 return 0; 258 return 0;
260 } 259 }
261 260
262 void CrasInputStream::ReadAudio(size_t frames, 261 void CrasInputStream::ReadAudio(size_t frames,
263 uint8* buffer, 262 uint8_t* buffer,
264 const timespec* sample_ts) { 263 const timespec* sample_ts) {
265 DCHECK(callback_); 264 DCHECK(callback_);
266 265
267 timespec latency_ts = {0, 0}; 266 timespec latency_ts = {0, 0};
268 267
269 // Determine latency and pass that on to the sink. sample_ts is the wall time 268 // Determine latency and pass that on to the sink. sample_ts is the wall time
270 // indicating when the first sample in the buffer was captured. Convert that 269 // indicating when the first sample in the buffer was captured. Convert that
271 // to latency in bytes. 270 // to latency in bytes.
272 cras_client_calc_capture_latency(sample_ts, &latency_ts); 271 cras_client_calc_capture_latency(sample_ts, &latency_ts);
273 double latency_usec = 272 double latency_usec =
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 331
333 double CrasInputStream::GetVolumeRatioFromDecibels(double dB) const { 332 double CrasInputStream::GetVolumeRatioFromDecibels(double dB) const {
334 return pow(10, dB / 20.0); 333 return pow(10, dB / 20.0);
335 } 334 }
336 335
337 double CrasInputStream::GetDecibelsFromVolumeRatio(double volume_ratio) const { 336 double CrasInputStream::GetDecibelsFromVolumeRatio(double volume_ratio) const {
338 return 20 * log10(volume_ratio); 337 return 20 * log10(volume_ratio);
339 } 338 }
340 339
341 } // namespace media 340 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698