Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / media / base / container_names.h
blobaf1214fe9d1e8900181cc26cec75e610788473ea
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.
5 #ifndef MEDIA_BASE_CONTAINER_NAMES_H_
6 #define MEDIA_BASE_CONTAINER_NAMES_H_
8 #include "base/basictypes.h"
9 #include "media/base/media_export.h"
11 namespace media {
13 namespace container_names {
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
64 // Determine the container type.
65 MEDIA_EXPORT MediaContainerName DetermineContainer(const uint8* buffer,
66 int buffer_size);
68 } // namespace container_names
70 } // namespace media
72 #endif // MEDIA_BASE_CONTAINER_NAMES_H_