1 // Copyright (c) 2012 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 WIDEVINE_CDM_WIDEVINE_CDM_COMMON_H_
6 #define WIDEVINE_CDM_WIDEVINE_CDM_COMMON_H_
8 #include "base/files/file_path.h"
10 // This file defines constants common to all Widevine CDM versions.
12 // Widevine CDM version contains 4 components, e.g. 1.4.0.195.
13 const int kWidevineCdmVersionNumComponents
= 4;
15 // "alpha" is a temporary name until a convention is defined.
16 const char kWidevineKeySystem
[] = "com.widevine.alpha";
18 const char kWidevineCdmDisplayName
[] = "Widevine Content Decryption Module";
19 // Will be parsed as HTML.
20 const char kWidevineCdmDescription
[] =
21 "Enables Widevine licenses for playback of HTML audio/video content.";
23 #if defined(ENABLE_PEPPER_CDMS)
24 const char kWidevineCdmPluginMimeType
[] = "application/x-ppapi-widevine-cdm";
25 const char kWidevineCdmPluginMimeTypeDescription
[] =
26 "Widevine Content Decryption Module";
28 // File name of the CDM on different platforms.
29 const char kWidevineCdmFileName
[] =
30 #if defined(OS_MACOSX)
31 "libwidevinecdm.dylib";
34 #else // OS_LINUX, etc.
38 // File name of the adapter on different platforms.
39 const char kWidevineCdmAdapterFileName
[] =
40 #if defined(OS_MACOSX)
41 "widevinecdmadapter.plugin";
43 "widevinecdmadapter.dll";
44 #else // OS_LINUX, etc.
45 "libwidevinecdmadapter.so";
48 // The following strings are used to communicate supported codecs (from the
49 // component manifest) via WebPluginInfo::WebPluginMimeType's additional params.
50 const char kCdmSupportedCodecsParamName
[] = "codecs";
51 const char kCdmSupportedCodecsValueDelimiter
= ',';
52 const char kCdmSupportedCodecVorbis
[] = "vorbis";
53 const char kCdmSupportedCodecVp8
[] = "vp8";
54 const char kCdmSupportedCodecVp9
[] = "vp9.0";
55 #if defined(USE_PROPRIETARY_CODECS)
56 const char kCdmSupportedCodecAac
[] = "aac";
57 const char kCdmSupportedCodecAvc1
[] = "avc1";
58 #endif // defined(USE_PROPRIETARY_CODECS)
60 #if defined(OS_MACOSX) || defined(OS_WIN)
61 // CDM is installed by the component installer instead of the Chrome installer.
62 #define WIDEVINE_CDM_IS_COMPONENT
63 #endif // defined(OS_MACOSX) || defined(OS_WIN)
64 #endif // defined(ENABLE_PEPPER_CDMS)
66 #endif // WIDEVINE_CDM_WIDEVINE_CDM_COMMON_H_