summaryrefslogtreecommitdiffstats
path: root/media/base/video_decoder_config.cc
diff options
context:
space:
mode:
authoracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-10 23:26:07 +0000
committeracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-10 23:26:07 +0000
commitc851cd6fb95e44c4208e0db3cc86822ce8b09144 (patch)
treef3d1ca6a36fc2d73823f4692f0978ba82a03cb91 /media/base/video_decoder_config.cc
parent40c4cbb72decbe9b5c66c6753dddeb3b683a2562 (diff)
downloadchromium_src-c851cd6fb95e44c4208e0db3cc86822ce8b09144.zip
chromium_src-c851cd6fb95e44c4208e0db3cc86822ce8b09144.tar.gz
chromium_src-c851cd6fb95e44c4208e0db3cc86822ce8b09144.tar.bz2
Move WebM specific code from ChunkDemuxer to WebMStreamParser.
BUG=108329 TEST=Existing ChunkDemuxer unittests TBR=acolwell@chromium.org Review URL: http://codereview.chromium.org/9170002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117113 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/video_decoder_config.cc')
-rw-r--r--media/base/video_decoder_config.cc38
1 files changed, 28 insertions, 10 deletions
diff --git a/media/base/video_decoder_config.cc b/media/base/video_decoder_config.cc
index 07bf9a5..4966dfb 100644
--- a/media/base/video_decoder_config.cc
+++ b/media/base/video_decoder_config.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.
@@ -37,7 +37,7 @@ VideoDecoderConfig::VideoDecoderConfig(VideoCodec codec,
Initialize(codec, profile, format, coded_size, visible_rect,
frame_rate_numerator, frame_rate_denominator,
aspect_ratio_numerator, aspect_ratio_denominator,
- extra_data, extra_data_size);
+ extra_data, extra_data_size, true);
}
VideoDecoderConfig::~VideoDecoderConfig() {}
@@ -74,16 +74,19 @@ void VideoDecoderConfig::Initialize(VideoCodec codec,
int aspect_ratio_numerator,
int aspect_ratio_denominator,
const uint8* extra_data,
- size_t extra_data_size) {
+ size_t extra_data_size,
+ bool record_stats) {
CHECK((extra_data_size != 0) == (extra_data != NULL));
- UMA_HISTOGRAM_ENUMERATION("Media.VideoCodec", codec, kVideoCodecMax + 1);
- UMA_HISTOGRAM_ENUMERATION("Media.VideoCodecProfile", profile,
- VIDEO_CODEC_PROFILE_MAX + 1);
- UMA_HISTOGRAM_COUNTS_10000("Media.VideoCodedWidth", coded_size.width());
- UmaHistogramAspectRatio("Media.VideoCodedAspectRatio", coded_size);
- UMA_HISTOGRAM_COUNTS_10000("Media.VideoVisibleWidth", visible_rect.width());
- UmaHistogramAspectRatio("Media.VideoVisibleAspectRatio", visible_rect);
+ if (record_stats) {
+ UMA_HISTOGRAM_ENUMERATION("Media.VideoCodec", codec, kVideoCodecMax + 1);
+ UMA_HISTOGRAM_ENUMERATION("Media.VideoCodecProfile", profile,
+ VIDEO_CODEC_PROFILE_MAX + 1);
+ UMA_HISTOGRAM_COUNTS_10000("Media.VideoCodedWidth", coded_size.width());
+ UmaHistogramAspectRatio("Media.VideoCodedAspectRatio", coded_size);
+ UMA_HISTOGRAM_COUNTS_10000("Media.VideoVisibleWidth", visible_rect.width());
+ UmaHistogramAspectRatio("Media.VideoVisibleAspectRatio", visible_rect);
+ }
codec_ = codec;
profile_ = profile;
@@ -120,6 +123,21 @@ void VideoDecoderConfig::Initialize(VideoCodec codec,
natural_size_.SetSize(width & ~1, height);
}
+void VideoDecoderConfig::CopyFrom(const VideoDecoderConfig& video_config) {
+ Initialize(video_config.codec(),
+ video_config.profile(),
+ video_config.format(),
+ video_config.coded_size(),
+ video_config.visible_rect(),
+ video_config.frame_rate_numerator(),
+ video_config.frame_rate_denominator(),
+ video_config.aspect_ratio_numerator(),
+ video_config.aspect_ratio_denominator(),
+ video_config.extra_data(),
+ video_config.extra_data_size(),
+ false);
+}
+
bool VideoDecoderConfig::IsValidConfig() const {
return codec_ != kUnknownVideoCodec &&
format_ != VideoFrame::INVALID &&