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. 4 5 #ifndef CONTENT_PUBLIC_COMMON_EME_CODEC_H_ 6 #define CONTENT_PUBLIC_COMMON_EME_CODEC_H_ 7 8 namespace content { 9 10 // Defines bitmask values that specify codecs used in Encrypted Media Extension 11 // (EME). Each value represents a codec within a specific container. 12 // The mask values are stored in a SupportedCodecs. 13 enum EmeCodec { 14 EME_CODEC_NONE = 0, 15 EME_CODEC_WEBM_VORBIS = 1 << 0, 16 EME_CODEC_WEBM_AUDIO_ALL = EME_CODEC_WEBM_VORBIS, 17 EME_CODEC_WEBM_VP8 = 1 << 1, 18 EME_CODEC_WEBM_VP9 = 1 << 2, 19 EME_CODEC_WEBM_VIDEO_ALL = (EME_CODEC_WEBM_VP8 | EME_CODEC_WEBM_VP9), 20 EME_CODEC_WEBM_ALL = (EME_CODEC_WEBM_AUDIO_ALL | EME_CODEC_WEBM_VIDEO_ALL), 21 #if defined(USE_PROPRIETARY_CODECS) 22 EME_CODEC_MP4_AAC = 1 << 3, 23 EME_CODEC_MP4_AUDIO_ALL = EME_CODEC_MP4_AAC, 24 EME_CODEC_MP4_AVC1 = 1 << 4, 25 EME_CODEC_MP4_VIDEO_ALL = EME_CODEC_MP4_AVC1, 26 EME_CODEC_MP4_ALL = (EME_CODEC_MP4_AUDIO_ALL | EME_CODEC_MP4_VIDEO_ALL), 27 EME_CODEC_ALL = (EME_CODEC_WEBM_ALL | EME_CODEC_MP4_ALL), 28 #else 29 EME_CODEC_ALL = EME_CODEC_WEBM_ALL, 30 #endif // defined(USE_PROPRIETARY_CODECS) 31 }; 32 33 typedef uint32 SupportedCodecs; 34 35 } // namespace content 36 37 #endif // CONTENT_PUBLIC_COMMON_EME_CODEC_H_ 38