1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Contains limit definition constants for the media subsystem. 6 7 #ifndef MEDIA_BASE_LIMITS_H_ 8 #define MEDIA_BASE_LIMITS_H_ 9 10 #include "base/basictypes.h" 11 12 namespace media { 13 14 namespace limits { 15 16 enum { 17 // Maximum possible dimension (width or height) for any video. 18 kMaxDimension = (1 << 15) - 1, // 32767 19 20 // Maximum possible canvas size (width multiplied by height) for any video. 21 kMaxCanvas = (1 << (14 * 2)), // 16384 x 16384 22 23 // Total number of video frames which are populating in the pipeline. 24 kMaxVideoFrames = 4, 25 26 // The following limits are used by AudioParameters::IsValid(). 27 // 28 // A few notes on sample rates of common formats: 29 // - AAC files are limited to 96 kHz. 30 // - MP3 files are limited to 48 kHz. 31 // - Vorbis used to be limited to 96 KHz, but no longer has that 32 // restriction. 33 // - Most PC audio hardware is limited to 192 KHz. 34 kMaxSampleRate = 192000, 35 kMinSampleRate = 3000, 36 kMaxChannels = 32, 37 kMaxBytesPerSample = 4, 38 kMaxBitsPerSample = kMaxBytesPerSample * 8, 39 kMaxSamplesPerPacket = kMaxSampleRate, 40 kMaxPacketSizeInBytes = 41 kMaxBytesPerSample * kMaxChannels * kMaxSamplesPerPacket, 42 43 // This limit is used by ParamTraits<VideoCaptureParams>. 44 kMaxFramesPerSecond = 1000, 45 }; 46 47 } // namespace limits 48 49 } // namespace media 50 51 #endif // MEDIA_BASE_LIMITS_H_ 52