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

Unified Diff: media/audio/audio_parameters.cc

Issue 9655018: Make AudioParameters a class instead of a struct (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix copyright years 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
« no previous file with comments | « media/audio/audio_parameters.h ('k') | media/audio/audio_parameters_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/audio/audio_parameters.cc
diff --git a/media/audio/audio_parameters.cc b/media/audio/audio_parameters.cc
index 4395481764a626a3f6837742e0dac40be9aad487..852bd1241151f20bdaecc5a122251cfca96368e9 100644
--- a/media/audio/audio_parameters.cc
+++ b/media/audio/audio_parameters.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -7,61 +7,77 @@
#include "media/base/limits.h"
AudioParameters::AudioParameters()
- : format(AUDIO_PCM_LINEAR),
- channel_layout(CHANNEL_LAYOUT_NONE),
- sample_rate(0),
- bits_per_sample(0),
- samples_per_packet(0),
- channels(0) {
+ : format_(AUDIO_PCM_LINEAR),
+ channel_layout_(CHANNEL_LAYOUT_NONE),
+ sample_rate_(0),
+ bits_per_sample_(0),
+ frames_per_buffer_(0),
+ channels_(0) {
}
AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout,
int sample_rate, int bits_per_sample,
- int samples_per_packet)
- : format(format),
- channel_layout(channel_layout),
- sample_rate(sample_rate),
- bits_per_sample(bits_per_sample),
- samples_per_packet(samples_per_packet),
- channels(ChannelLayoutToChannelCount(channel_layout)) {
+ int frames_per_buffer)
+ : format_(format),
+ channel_layout_(channel_layout),
+ sample_rate_(sample_rate),
+ bits_per_sample_(bits_per_sample),
+ frames_per_buffer_(frames_per_buffer),
+ channels_(ChannelLayoutToChannelCount(channel_layout)) {
+}
+
+void AudioParameters::Reset(Format format, ChannelLayout channel_layout,
+ int sample_rate, int bits_per_sample,
+ int frames_per_buffer) {
+ format_ = format;
+ channel_layout_ = channel_layout;
+ sample_rate_ = sample_rate;
+ bits_per_sample_ = bits_per_sample;
+ frames_per_buffer_ = frames_per_buffer;
+ channels_ = ChannelLayoutToChannelCount(channel_layout);
}
bool AudioParameters::IsValid() const {
- return (format >= 0) && (format < AUDIO_LAST_FORMAT) &&
- (channels > 0) && (channels <= media::limits::kMaxChannels) &&
- (sample_rate > 0) && (sample_rate <= media::limits::kMaxSampleRate) &&
- (bits_per_sample > 0) &&
- (bits_per_sample <= media::limits::kMaxBitsPerSample) &&
- (samples_per_packet > 0) &&
- (samples_per_packet <= media::limits::kMaxSamplesPerPacket);
+ return (format_ >= 0) && (format_ < AUDIO_LAST_FORMAT) &&
+ (channels_ > 0) && (channels_ <= media::limits::kMaxChannels) &&
+ (sample_rate_ > 0) &&
+ (sample_rate_ <= media::limits::kMaxSampleRate) &&
+ (bits_per_sample_ > 0) &&
+ (bits_per_sample_ <= media::limits::kMaxBitsPerSample) &&
+ (frames_per_buffer_ > 0) &&
+ (frames_per_buffer_ <= media::limits::kMaxSamplesPerPacket);
}
-int AudioParameters::GetPacketSize() const {
- return samples_per_packet * channels * bits_per_sample / 8;
+int AudioParameters::GetBytesPerBuffer() const {
+ return frames_per_buffer_ * GetBytesPerFrame();
}
int AudioParameters::GetBytesPerSecond() const {
- return sample_rate * channels * bits_per_sample / 8;
+ return sample_rate_ * GetBytesPerFrame();
+}
+
+int AudioParameters::GetBytesPerFrame() const {
+ return channels_ * bits_per_sample_ / 8;
}
bool AudioParameters::Compare::operator()(
const AudioParameters& a,
const AudioParameters& b) const {
- if (a.format < b.format)
+ if (a.format_ < b.format_)
return true;
- if (a.format > b.format)
+ if (a.format_ > b.format_)
return false;
- if (a.channels < b.channels)
+ if (a.channels_ < b.channels_)
return true;
- if (a.channels > b.channels)
+ if (a.channels_ > b.channels_)
return false;
- if (a.sample_rate < b.sample_rate)
+ if (a.sample_rate_ < b.sample_rate_)
return true;
- if (a.sample_rate > b.sample_rate)
+ if (a.sample_rate_ > b.sample_rate_)
return false;
- if (a.bits_per_sample < b.bits_per_sample)
+ if (a.bits_per_sample_ < b.bits_per_sample_)
return true;
- if (a.bits_per_sample > b.bits_per_sample)
+ if (a.bits_per_sample_ > b.bits_per_sample_)
return false;
- return a.samples_per_packet < b.samples_per_packet;
+ return a.frames_per_buffer_ < b.frames_per_buffer_;
}
« no previous file with comments | « media/audio/audio_parameters.h ('k') | media/audio/audio_parameters_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698