1 // Copyright 2014 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_EME_CONSTANTS_H_
6 #define MEDIA_BASE_EME_CONSTANTS_H_
12 // Defines bitmask values that specify registered initialization data types used
13 // in Encrypted Media Extensions (EME).
14 // The mask values are stored in a SupportedInitDataTypes.
15 enum EmeInitDataType
{
16 EME_INIT_DATA_TYPE_NONE
= 0,
17 EME_INIT_DATA_TYPE_WEBM
= 1 << 0,
18 #if defined(USE_PROPRIETARY_CODECS)
19 EME_INIT_DATA_TYPE_CENC
= 1 << 1,
20 #endif // defined(USE_PROPRIETARY_CODECS)
23 // Defines bitmask values that specify codecs used in Encrypted Media Extension
24 // (EME). Each value represents a codec within a specific container.
25 // The mask values are stored in a SupportedCodecs.
27 // *_ALL values should only be used for masking, do not use them to specify
28 // codec support because they may be extended to include more codecs.
30 EME_CODEC_WEBM_VORBIS
= 1 << 0,
31 EME_CODEC_WEBM_AUDIO_ALL
= EME_CODEC_WEBM_VORBIS
,
32 EME_CODEC_WEBM_VP8
= 1 << 1,
33 EME_CODEC_WEBM_VP9
= 1 << 2,
34 EME_CODEC_WEBM_VIDEO_ALL
= (EME_CODEC_WEBM_VP8
| EME_CODEC_WEBM_VP9
),
35 EME_CODEC_WEBM_ALL
= (EME_CODEC_WEBM_AUDIO_ALL
| EME_CODEC_WEBM_VIDEO_ALL
),
36 #if defined(USE_PROPRIETARY_CODECS)
37 EME_CODEC_MP4_AAC
= 1 << 3,
38 EME_CODEC_MP4_AUDIO_ALL
= EME_CODEC_MP4_AAC
,
39 EME_CODEC_MP4_AVC1
= 1 << 4,
40 EME_CODEC_MP4_VIDEO_ALL
= EME_CODEC_MP4_AVC1
,
41 EME_CODEC_MP4_ALL
= (EME_CODEC_MP4_AUDIO_ALL
| EME_CODEC_MP4_VIDEO_ALL
),
42 EME_CODEC_ALL
= (EME_CODEC_WEBM_ALL
| EME_CODEC_MP4_ALL
),
44 EME_CODEC_ALL
= EME_CODEC_WEBM_ALL
,
45 #endif // defined(USE_PROPRIETARY_CODECS)
48 typedef uint32_t SupportedInitDataTypes
;
49 typedef uint32_t SupportedCodecs
;
53 #endif // MEDIA_BASE_EME_CONSTANTS_H_