Index: media/audio/audio_parameters.cc |
diff --git a/media/audio/audio_parameters.cc b/media/audio/audio_parameters.cc |
index ca12452e475d9cbfca3083bd48a6845329cffe92..b0a691b6da616c9c5270961f993c3b1c216df72c 100644 |
--- a/media/audio/audio_parameters.cc |
+++ b/media/audio/audio_parameters.cc |
@@ -10,15 +10,18 @@ AudioParameters::AudioParameters() |
: format(AUDIO_PCM_LINEAR), |
channels(0), |
sample_rate(0), |
- bits_per_sample(0) { |
+ bits_per_sample(0), |
+ samples_per_packet(0) { |
} |
AudioParameters::AudioParameters(Format format, int channels, |
- int sample_rate, int bits_per_sample) |
+ int sample_rate, int bits_per_sample, |
+ int samples_per_packet) |
: format(format), |
channels(channels), |
sample_rate(sample_rate), |
- bits_per_sample(bits_per_sample) { |
+ bits_per_sample(bits_per_sample), |
+ samples_per_packet(samples_per_packet) { |
} |
bool AudioParameters::IsValid() const { |
@@ -26,5 +29,11 @@ bool AudioParameters::IsValid() const { |
(channels > 0) && (channels <= media::Limits::kMaxChannels) && |
(sample_rate > 0) && (sample_rate <= media::Limits::kMaxSampleRate) && |
(bits_per_sample > 0) && |
- (bits_per_sample <= media::Limits::kMaxBitsPerSample); |
+ (bits_per_sample <= media::Limits::kMaxBitsPerSample) && |
+ (samples_per_packet > 0) && |
+ (samples_per_packet <= media::Limits::kMaxSamplesPerPacket); |
+} |
+ |
+int AudioParameters::GetPacketSize() const { |
+ return samples_per_packet * channels * bits_per_sample / 8; |
} |