Shaka Packager SDK
container_names.h
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 PACKAGER_MEDIA_BASE_CONTAINER_NAMES_H_
6 #define PACKAGER_MEDIA_BASE_CONTAINER_NAMES_H_
7 
8 #include <cstdint>
9 #include <string>
10 
11 namespace shaka {
12 namespace media {
13 
16 enum MediaContainerName {
17  CONTAINER_UNKNOWN, // Unknown
18  CONTAINER_AAC, // AAC (Advanced Audio Coding)
19  CONTAINER_AC3, // AC-3
20  CONTAINER_AIFF, // AIFF (Audio Interchange File Format)
21  CONTAINER_AMR, // AMR (Adaptive Multi-Rate Audio)
22  CONTAINER_APE, // APE (Monkey's Audio)
23  CONTAINER_ASF, // ASF (Advanced / Active Streaming Format)
24  CONTAINER_ASS, // SSA (SubStation Alpha) subtitle
25  CONTAINER_AVI, // AVI (Audio Video Interleaved)
26  CONTAINER_BINK, // Bink
27  CONTAINER_CAF, // CAF (Apple Core Audio Format)
28  CONTAINER_DTS, // DTS
29  CONTAINER_DTSHD, // DTS-HD
30  CONTAINER_DV, // DV (Digital Video)
31  CONTAINER_DXA, // DXA
32  CONTAINER_EAC3, // Enhanced AC-3
33  CONTAINER_FLAC, // FLAC (Free Lossless Audio Codec)
34  CONTAINER_FLV, // FLV (Flash Video)
35  CONTAINER_GSM, // GSM (Global System for Mobile Audio)
36  CONTAINER_H261, // H.261
37  CONTAINER_H263, // H.263
38  CONTAINER_H264, // H.264
39  CONTAINER_HLS, // HLS (Apple HTTP Live Streaming PlayList)
40  CONTAINER_IRCAM, // Berkeley/IRCAM/CARL Sound Format
41  CONTAINER_MJPEG, // MJPEG video
42  CONTAINER_MOV, // QuickTime / MOV / MPEG4
43  CONTAINER_MP3, // MP3 (MPEG audio layer 2/3)
44  CONTAINER_MPEG2PS, // MPEG-2 Program Stream
45  CONTAINER_MPEG2TS, // MPEG-2 Transport Stream
46  CONTAINER_MPEG4BS, // MPEG-4 Bitstream
47  CONTAINER_OGG, // Ogg
48  CONTAINER_RM, // RM (RealMedia)
49  CONTAINER_SRT, // SRT (SubRip subtitle)
50  CONTAINER_SWF, // SWF (ShockWave Flash)
51  CONTAINER_TTML, // TTML file.
52  CONTAINER_VC1, // VC-1
53  CONTAINER_WAV, // WAV / WAVE (Waveform Audio)
54  CONTAINER_WEBM, // Matroska / WebM
55  CONTAINER_WEBVTT, // WebVTT file.
56  CONTAINER_WTV, // WTV (Windows Television)
57  CONTAINER_WVM, // WVM (Widevine Classic Format)
58  CONTAINER_MAX // Must be last
59 };
60 
62 MediaContainerName DetermineContainer(const uint8_t* buffer, int buffer_size);
63 
66 MediaContainerName DetermineContainerFromFormatName(
67  const std::string& format_name);
68 
71 MediaContainerName DetermineContainerFromFileName(const std::string& file_name);
72 
73 } // namespace media
74 } // namespace shaka
75 
76 #endif // PACKAGER_MEDIA_BASE_CONTAINER_NAMES_H_
All the methods that are virtual are virtual for mocking.
Definition: crypto_flags.cc:66