| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MEDIA_BASE_EME_CONSTANTS_H_ | 5 #ifndef MEDIA_BASE_EME_CONSTANTS_H_ |
| 6 #define MEDIA_BASE_EME_CONSTANTS_H_ | 6 #define MEDIA_BASE_EME_CONSTANTS_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "media/media_features.h" | 10 #include "media/media_features.h" |
| 11 | 11 |
| 12 namespace media { | 12 namespace media { |
| 13 | 13 |
| 14 // Defines values that specify registered Initialization Data Types used | 14 // Defines values that specify registered Initialization Data Types used |
| 15 // in Encrypted Media Extensions (EME). | 15 // in Encrypted Media Extensions (EME). |
| 16 // http://w3c.github.io/encrypted-media/initdata-format-registry.html#registry | 16 // http://w3c.github.io/encrypted-media/initdata-format-registry.html#registry |
| 17 enum class EmeInitDataType { UNKNOWN, WEBM, CENC, KEYIDS, MAX = KEYIDS }; | 17 enum class EmeInitDataType { UNKNOWN, WEBM, CENC, KEYIDS, MAX = KEYIDS }; |
| 18 | 18 |
| 19 // Defines bitmask values that specify codecs used in Encrypted Media Extension | 19 // Defines bitmask values that specify codecs used in Encrypted Media Extension |
| 20 // (EME). Each value represents a codec within a specific container. | 20 // (EME). Each value represents a codec within a specific container. |
| 21 // The mask values are stored in a SupportedCodecs. | 21 // The mask values are stored in a SupportedCodecs. |
| 22 // |
| 23 // TODO(yucliu): Remove container name from the enum. See crbug.com/724362 for |
| 24 // more details. |
| 22 enum EmeCodec { | 25 enum EmeCodec { |
| 23 // *_ALL values should only be used for masking, do not use them to specify | 26 // *_ALL values should only be used for masking, do not use them to specify |
| 24 // codec support because they may be extended to include more codecs. | 27 // codec support because they may be extended to include more codecs. |
| 25 EME_CODEC_NONE = 0, | 28 EME_CODEC_NONE = 0, |
| 26 EME_CODEC_WEBM_OPUS = 1 << 0, | 29 EME_CODEC_WEBM_OPUS = 1 << 0, |
| 27 EME_CODEC_WEBM_VORBIS = 1 << 1, | 30 EME_CODEC_WEBM_VORBIS = 1 << 1, |
| 28 EME_CODEC_WEBM_VP8 = 1 << 2, | 31 EME_CODEC_WEBM_VP8 = 1 << 2, |
| 29 EME_CODEC_WEBM_VP9 = 1 << 3, | 32 EME_CODEC_WEBM_VP9 = 1 << 3, |
| 30 EME_CODEC_MP4_AAC = 1 << 4, | 33 EME_CODEC_MP4_AAC = 1 << 4, |
| 34 // AVC1 is shared by MP4 and MP2T. |
| 31 EME_CODEC_MP4_AVC1 = 1 << 5, | 35 EME_CODEC_MP4_AVC1 = 1 << 5, |
| 32 EME_CODEC_COMMON_VP9 = 1 << 6, | 36 EME_CODEC_COMMON_VP9 = 1 << 6, |
| 33 EME_CODEC_MP4_HEVC = 1 << 7, | 37 EME_CODEC_MP4_HEVC = 1 << 7, |
| 34 EME_CODEC_MP4_DV_AVC = 1 << 8, | 38 EME_CODEC_MP4_DV_AVC = 1 << 8, |
| 35 EME_CODEC_MP4_DV_HEVC = 1 << 9, | 39 EME_CODEC_MP4_DV_HEVC = 1 << 9, |
| 36 EME_CODEC_MP4_AC3 = 1 << 10, | 40 EME_CODEC_MP4_AC3 = 1 << 10, |
| 37 EME_CODEC_MP4_EAC3 = 1 << 11, | 41 EME_CODEC_MP4_EAC3 = 1 << 11, |
| 38 EME_CODEC_WEBM_AUDIO_ALL = EME_CODEC_WEBM_OPUS | EME_CODEC_WEBM_VORBIS, | 42 EME_CODEC_WEBM_AUDIO_ALL = EME_CODEC_WEBM_OPUS | EME_CODEC_WEBM_VORBIS, |
| 39 EME_CODEC_WEBM_VIDEO_ALL = | 43 EME_CODEC_WEBM_VIDEO_ALL = |
| 40 (EME_CODEC_WEBM_VP8 | EME_CODEC_WEBM_VP9 | EME_CODEC_COMMON_VP9), | 44 (EME_CODEC_WEBM_VP8 | EME_CODEC_WEBM_VP9 | EME_CODEC_COMMON_VP9), |
| (...skipping 14 matching lines...) Expand all Loading... |
| 55 #if BUILDFLAG(ENABLE_DOLBY_VISION_DEMUXING) | 59 #if BUILDFLAG(ENABLE_DOLBY_VISION_DEMUXING) |
| 56 | | 60 | |
| 57 EME_CODEC_MP4_DV_AVC | 61 EME_CODEC_MP4_DV_AVC |
| 58 #if BUILDFLAG(ENABLE_HEVC_DEMUXING) | 62 #if BUILDFLAG(ENABLE_HEVC_DEMUXING) |
| 59 | | 63 | |
| 60 EME_CODEC_MP4_DV_HEVC | 64 EME_CODEC_MP4_DV_HEVC |
| 61 #endif // BUILDFLAG(ENABLE_HEVC_DEMUXING) | 65 #endif // BUILDFLAG(ENABLE_HEVC_DEMUXING) |
| 62 #endif // BUILDFLAG(ENABLE_DOLBY_VISION_DEMUXING) | 66 #endif // BUILDFLAG(ENABLE_DOLBY_VISION_DEMUXING) |
| 63 ), | 67 ), |
| 64 EME_CODEC_MP4_ALL = (EME_CODEC_MP4_AUDIO_ALL | EME_CODEC_MP4_VIDEO_ALL), | 68 EME_CODEC_MP4_ALL = (EME_CODEC_MP4_AUDIO_ALL | EME_CODEC_MP4_VIDEO_ALL), |
| 69 #if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER) |
| 70 EME_CODEC_MP2T_VIDEO_ALL = EME_CODEC_MP4_AVC1, |
| 71 EME_CODEC_MP2T_ALL = EME_CODEC_MP2T_VIDEO_ALL, |
| 72 EME_CODEC_AUDIO_ALL = (EME_CODEC_WEBM_AUDIO_ALL | EME_CODEC_MP4_AUDIO_ALL), |
| 73 EME_CODEC_VIDEO_ALL = (EME_CODEC_WEBM_VIDEO_ALL | EME_CODEC_MP4_VIDEO_ALL | |
| 74 EME_CODEC_MP2T_VIDEO_ALL), |
| 75 EME_CODEC_ALL = (EME_CODEC_WEBM_ALL | EME_CODEC_MP4_ALL | EME_CODEC_MP2T_ALL), |
| 76 #else |
| 65 EME_CODEC_AUDIO_ALL = (EME_CODEC_WEBM_AUDIO_ALL | EME_CODEC_MP4_AUDIO_ALL), | 77 EME_CODEC_AUDIO_ALL = (EME_CODEC_WEBM_AUDIO_ALL | EME_CODEC_MP4_AUDIO_ALL), |
| 66 EME_CODEC_VIDEO_ALL = (EME_CODEC_WEBM_VIDEO_ALL | EME_CODEC_MP4_VIDEO_ALL), | 78 EME_CODEC_VIDEO_ALL = (EME_CODEC_WEBM_VIDEO_ALL | EME_CODEC_MP4_VIDEO_ALL), |
| 67 EME_CODEC_ALL = (EME_CODEC_WEBM_ALL | EME_CODEC_MP4_ALL), | 79 EME_CODEC_ALL = (EME_CODEC_WEBM_ALL | EME_CODEC_MP4_ALL), |
| 80 #endif // BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER) |
| 68 #else | 81 #else |
| 69 EME_CODEC_AUDIO_ALL = EME_CODEC_WEBM_AUDIO_ALL, | 82 EME_CODEC_AUDIO_ALL = EME_CODEC_WEBM_AUDIO_ALL, |
| 70 EME_CODEC_VIDEO_ALL = EME_CODEC_WEBM_VIDEO_ALL, | 83 EME_CODEC_VIDEO_ALL = EME_CODEC_WEBM_VIDEO_ALL, |
| 71 EME_CODEC_ALL = EME_CODEC_WEBM_ALL, | 84 EME_CODEC_ALL = EME_CODEC_WEBM_ALL, |
| 72 #endif // BUILDFLAG(USE_PROPRIETARY_CODECS) | 85 #endif // BUILDFLAG(USE_PROPRIETARY_CODECS) |
| 73 }; | 86 }; |
| 74 | 87 |
| 75 typedef uint32_t SupportedCodecs; | 88 typedef uint32_t SupportedCodecs; |
| 76 | 89 |
| 77 enum class EmeSessionTypeSupport { | 90 enum class EmeSessionTypeSupport { |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 // This rule only has meaning on platforms that distinguish hardware-secure | 153 // This rule only has meaning on platforms that distinguish hardware-secure |
| 141 // codecs (ie. Android). | 154 // codecs (ie. Android). |
| 142 HW_SECURE_CODECS_REQUIRED, | 155 HW_SECURE_CODECS_REQUIRED, |
| 143 // The configuration option is supported without conditions. | 156 // The configuration option is supported without conditions. |
| 144 SUPPORTED, | 157 SUPPORTED, |
| 145 }; | 158 }; |
| 146 | 159 |
| 147 } // namespace media | 160 } // namespace media |
| 148 | 161 |
| 149 #endif // MEDIA_BASE_EME_CONSTANTS_H_ | 162 #endif // MEDIA_BASE_EME_CONSTANTS_H_ |
| OLD | NEW |