summaryrefslogtreecommitdiffstats
path: root/chromium/media/base/audio_decoder_config.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/base/audio_decoder_config.cc')
-rw-r--r--chromium/media/base/audio_decoder_config.cc36
1 files changed, 26 insertions, 10 deletions
diff --git a/chromium/media/base/audio_decoder_config.cc b/chromium/media/base/audio_decoder_config.cc
index dfaf94a2682..06a1643f0a1 100644
--- a/chromium/media/base/audio_decoder_config.cc
+++ b/chromium/media/base/audio_decoder_config.cc
@@ -20,7 +20,8 @@ AudioDecoderConfig::AudioDecoderConfig()
channel_layout_(CHANNEL_LAYOUT_UNSUPPORTED),
samples_per_second_(0),
bytes_per_frame_(0),
- is_encrypted_(false) {
+ is_encrypted_(false),
+ codec_delay_(0) {
}
AudioDecoderConfig::AudioDecoderConfig(AudioCodec codec,
@@ -32,7 +33,7 @@ AudioDecoderConfig::AudioDecoderConfig(AudioCodec codec,
bool is_encrypted) {
Initialize(codec, sample_format, channel_layout, samples_per_second,
extra_data, extra_data_size, is_encrypted, true,
- base::TimeDelta(), base::TimeDelta());
+ base::TimeDelta(), 0);
}
void AudioDecoderConfig::Initialize(AudioCodec codec,
@@ -44,19 +45,19 @@ void AudioDecoderConfig::Initialize(AudioCodec codec,
bool is_encrypted,
bool record_stats,
base::TimeDelta seek_preroll,
- base::TimeDelta codec_delay) {
+ int codec_delay) {
CHECK((extra_data_size != 0) == (extra_data != NULL));
if (record_stats) {
- UMA_HISTOGRAM_ENUMERATION("Media.AudioCodec", codec, kAudioCodecMax);
+ UMA_HISTOGRAM_ENUMERATION("Media.AudioCodec", codec, kAudioCodecMax + 1);
UMA_HISTOGRAM_ENUMERATION("Media.AudioSampleFormat", sample_format,
- kSampleFormatMax);
+ kSampleFormatMax + 1);
UMA_HISTOGRAM_ENUMERATION("Media.AudioChannelLayout", channel_layout,
- CHANNEL_LAYOUT_MAX);
- AudioSampleRate asr = media::AsAudioSampleRate(samples_per_second);
- if (asr != kUnexpectedAudioSampleRate) {
+ CHANNEL_LAYOUT_MAX + 1);
+ AudioSampleRate asr;
+ if (ToAudioSampleRate(samples_per_second, &asr)) {
UMA_HISTOGRAM_ENUMERATION("Media.AudioSamplesPerSecond", asr,
- kUnexpectedAudioSampleRate);
+ kAudioSampleRateMax + 1);
} else {
UMA_HISTOGRAM_COUNTS(
"Media.AudioSamplesPerSecondUnexpected", samples_per_second);
@@ -88,7 +89,7 @@ bool AudioDecoderConfig::IsValidConfig() const {
samples_per_second_ <= limits::kMaxSampleRate &&
sample_format_ != kUnknownSampleFormat &&
seek_preroll_ >= base::TimeDelta() &&
- codec_delay_ >= base::TimeDelta();
+ codec_delay_ >= 0;
}
bool AudioDecoderConfig::Matches(const AudioDecoderConfig& config) const {
@@ -105,4 +106,19 @@ bool AudioDecoderConfig::Matches(const AudioDecoderConfig& config) const {
(codec_delay() == config.codec_delay()));
}
+std::string AudioDecoderConfig::AsHumanReadableString() const {
+ std::ostringstream s;
+ s << "codec: " << codec()
+ << " bytes_per_channel: " << bytes_per_channel()
+ << " channel_layout: " << channel_layout()
+ << " samples_per_second: " << samples_per_second()
+ << " sample_format: " << sample_format()
+ << " bytes_per_frame: " << bytes_per_frame()
+ << " seek_preroll: " << seek_preroll().InMilliseconds() << "ms"
+ << " codec_delay: " << codec_delay()
+ << " has extra data? " << (extra_data() ? "true" : "false")
+ << " encrypted? " << (is_encrypted() ? "true" : "false");
+ return s.str();
+}
+
} // namespace media