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

Unified Diff: media/audio/linux/alsa_input.cc

Issue 9655018: Make AudioParameters a class instead of a struct (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix tests Created 8 years, 9 months 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 side-by-side diff with in-line comments
Download patch
Index: media/audio/linux/alsa_input.cc
diff --git a/media/audio/linux/alsa_input.cc b/media/audio/linux/alsa_input.cc
index 101c1985ec494cee3d29ecb75c9d8ad8f26a612a..8c53b115076de64f250af0a3cb58b72674f011e8 100644
--- a/media/audio/linux/alsa_input.cc
+++ b/media/audio/linux/alsa_input.cc
@@ -29,12 +29,12 @@ AlsaPcmInputStream::AlsaPcmInputStream(AudioManagerLinux* audio_manager,
: audio_manager_(audio_manager),
device_name_(device_name),
params_(params),
- bytes_per_packet_(params.samples_per_packet *
- (params.channels * params.bits_per_sample) / 8),
+ bytes_per_packet_(params.samples_per_packet() *
+ (params.channels() * params.bits_per_sample()) / 8),
wrapper_(wrapper),
packet_duration_ms_(
- (params.samples_per_packet * base::Time::kMillisecondsPerSecond) /
- params.sample_rate),
+ (params.samples_per_packet() * base::Time::kMillisecondsPerSecond) /
+ params.samples_per_second()),
callback_(NULL),
device_handle_(NULL),
mixer_handle_(NULL),
@@ -50,10 +50,10 @@ bool AlsaPcmInputStream::Open() {
return false; // Already open.
snd_pcm_format_t pcm_format = alsa_util::BitsToFormat(
- params_.bits_per_sample);
+ params_.bits_per_sample());
if (pcm_format == SND_PCM_FORMAT_UNKNOWN) {
LOG(WARNING) << "Unsupported bits per sample: "
- << params_.bits_per_sample;
+ << params_.bits_per_sample();
return false;
}
@@ -66,10 +66,10 @@ bool AlsaPcmInputStream::Open() {
if (device_name_ == kAutoSelectDevice) {
const char* device_names[] = { kDefaultDevice1, kDefaultDevice2 };
for (size_t i = 0; i < arraysize(device_names); ++i) {
- device_handle_ = alsa_util::OpenCaptureDevice(wrapper_, device_names[i],
- params_.channels,
- params_.sample_rate,
- pcm_format, latency_us);
+ device_handle_ = alsa_util::OpenCaptureDevice(
+ wrapper_, device_names[i], params_.channels(),
+ params_.samples_per_second(), pcm_format, latency_us);
+
if (device_handle_) {
device_name_ = device_names[i];
break;
@@ -78,8 +78,8 @@ bool AlsaPcmInputStream::Open() {
} else {
device_handle_ = alsa_util::OpenCaptureDevice(wrapper_,
device_name_.c_str(),
- params_.channels,
- params_.sample_rate,
+ params_.channels(),
+ params_.samples_per_second(),
pcm_format, latency_us);
}
@@ -176,7 +176,7 @@ void AlsaPcmInputStream::ReadAudio() {
Recover(frames);
}
- if (frames < params_.samples_per_packet) {
+ if (frames < params_.samples_per_packet()) {
// Not enough data yet or error happened. In both cases wait for a very
// small duration before checking again.
// Even Though read callback was behind schedule, there is no data, so
@@ -195,20 +195,20 @@ void AlsaPcmInputStream::ReadAudio() {
return;
}
- int num_packets = frames / params_.samples_per_packet;
+ int num_packets = frames / params_.samples_per_packet();
int num_packets_read = num_packets;
- int bytes_per_frame = params_.channels * params_.bits_per_sample / 8;
+ int bytes_per_frame = params_.channels() * params_.bits_per_sample() / 8;
uint32 hardware_delay_bytes =
static_cast<uint32>(GetCurrentDelay() * bytes_per_frame);
while (num_packets--) {
int frames_read = wrapper_->PcmReadi(device_handle_, audio_packet_.get(),
- params_.samples_per_packet);
- if (frames_read == params_.samples_per_packet) {
+ params_.samples_per_packet());
+ if (frames_read == params_.samples_per_packet()) {
callback_->OnData(this, audio_packet_.get(), bytes_per_packet_,
hardware_delay_bytes);
} else {
LOG(WARNING) << "PcmReadi returning less than expected frames: "
- << frames_read << " vs. " << params_.samples_per_packet
+ << frames_read << " vs. " << params_.samples_per_packet()
<< ". Dropping this packet.";
}
}

Powered by Google App Engine
This is Rietveld 408576698