1 // Copyright (c) 2013 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 #ifndef MEDIA_BASE_CONTAINER_NAMES_H_ 6 #define MEDIA_BASE_CONTAINER_NAMES_H_ 7 8 #include "base/basictypes.h" 9 #include "media/base/media_export.h" 10 11 namespace media { 12 13 namespace container_names { 14 15 // This is the set of input container formats detected for logging purposes. Not 16 // all of these are enabled (and it varies by product). Any additions need to be 17 // done at the end of the list (before CONTAINER_MAX). This list must be kept in 18 // sync with the enum definition "MediaContainers" in 19 // tools/metrics/histograms/histograms.xml. 20 enum MediaContainerName { 21 CONTAINER_UNKNOWN, // Unknown 22 CONTAINER_AAC, // AAC (Advanced Audio Coding) 23 CONTAINER_AC3, // AC-3 24 CONTAINER_AIFF, // AIFF (Audio Interchange File Format) 25 CONTAINER_AMR, // AMR (Adaptive Multi-Rate Audio) 26 CONTAINER_APE, // APE (Monkey's Audio) 27 CONTAINER_ASF, // ASF (Advanced / Active Streaming Format) 28 CONTAINER_ASS, // SSA (SubStation Alpha) subtitle 29 CONTAINER_AVI, // AVI (Audio Video Interleaved) 30 CONTAINER_BINK, // Bink 31 CONTAINER_CAF, // CAF (Apple Core Audio Format) 32 CONTAINER_DTS, // DTS 33 CONTAINER_DTSHD, // DTS-HD 34 CONTAINER_DV, // DV (Digital Video) 35 CONTAINER_DXA, // DXA 36 CONTAINER_EAC3, // Enhanced AC-3 37 CONTAINER_FLAC, // FLAC (Free Lossless Audio Codec) 38 CONTAINER_FLV, // FLV (Flash Video) 39 CONTAINER_GSM, // GSM (Global System for Mobile Audio) 40 CONTAINER_H261, // H.261 41 CONTAINER_H263, // H.263 42 CONTAINER_H264, // H.264 43 CONTAINER_HLS, // HLS (Apple HTTP Live Streaming PlayList) 44 CONTAINER_IRCAM, // Berkeley/IRCAM/CARL Sound Format 45 CONTAINER_MJPEG, // MJPEG video 46 CONTAINER_MOV, // QuickTime / MOV / MPEG4 47 CONTAINER_MP3, // MP3 (MPEG audio layer 2/3) 48 CONTAINER_MPEG2PS, // MPEG-2 Program Stream 49 CONTAINER_MPEG2TS, // MPEG-2 Transport Stream 50 CONTAINER_MPEG4BS, // MPEG-4 Bitstream 51 CONTAINER_OGG, // Ogg 52 CONTAINER_RM, // RM (RealMedia) 53 CONTAINER_SRT, // SRT (SubRip subtitle) 54 CONTAINER_SWF, // SWF (ShockWave Flash) 55 CONTAINER_VC1, // VC-1 56 CONTAINER_WAV, // WAV / WAVE (Waveform Audio) 57 CONTAINER_WEBM, // Matroska / WebM 58 CONTAINER_WTV, // WTV (Windows Television) 59 CONTAINER_DASH, // DASH (MPEG-DASH) 60 CONTAINER_SMOOTHSTREAM, // SmoothStreaming 61 CONTAINER_MAX // Must be last 62 }; 63 64 // Determine the container type. 65 MEDIA_EXPORT MediaContainerName DetermineContainer(const uint8* buffer, 66 int buffer_size); 67 68 } // namespace container_names 69 70 } // namespace media 71 72 #endif // MEDIA_BASE_CONTAINER_NAMES_H_ 73