diff options
Diffstat (limited to 'chromium/media/base/limits.h')
-rw-r--r-- | chromium/media/base/limits.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/chromium/media/base/limits.h b/chromium/media/base/limits.h new file mode 100644 index 00000000000..ed7ac513c72 --- /dev/null +++ b/chromium/media/base/limits.h @@ -0,0 +1,51 @@ +// Copyright (c) 2011 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. + +// Contains limit definition constants for the media subsystem. + +#ifndef MEDIA_BASE_LIMITS_H_ +#define MEDIA_BASE_LIMITS_H_ + +#include "base/basictypes.h" + +namespace media { + +namespace limits { + +enum { + // Maximum possible dimension (width or height) for any video. + kMaxDimension = (1 << 15) - 1, // 32767 + + // Maximum possible canvas size (width multiplied by height) for any video. + kMaxCanvas = (1 << (14 * 2)), // 16384 x 16384 + + // Total number of video frames which are populating in the pipeline. + kMaxVideoFrames = 4, + + // The following limits are used by AudioParameters::IsValid(). + // + // A few notes on sample rates of common formats: + // - AAC files are limited to 96 kHz. + // - MP3 files are limited to 48 kHz. + // - Vorbis used to be limited to 96 KHz, but no longer has that + // restriction. + // - Most PC audio hardware is limited to 192 KHz. + kMaxSampleRate = 192000, + kMinSampleRate = 3000, + kMaxChannels = 32, + kMaxBytesPerSample = 4, + kMaxBitsPerSample = kMaxBytesPerSample * 8, + kMaxSamplesPerPacket = kMaxSampleRate, + kMaxPacketSizeInBytes = + kMaxBytesPerSample * kMaxChannels * kMaxSamplesPerPacket, + + // This limit is used by ParamTraits<VideoCaptureParams>. + kMaxFramesPerSecond = 1000, +}; + +} // namespace limits + +} // namespace media + +#endif // MEDIA_BASE_LIMITS_H_ |