Home | History | Annotate | Download | only in common
      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