15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef WIDEVINE_CDM_WIDEVINE_CDM_COMMON_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define WIDEVINE_CDM_WIDEVINE_CDM_COMMON_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/files/file_path.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file defines constants common to all Widevine CDM versions. 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Widevine CDM version contains 4 components, e.g. 1.4.0.195. 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const int kWidevineCdmVersionNumComponents = 4; 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// "alpha" is a temporary name until a convention is defined. 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kWidevineKeySystem[] = "com.widevine.alpha"; 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kWidevineCdmDisplayName[] = "Widevine Content Decryption Module"; 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Will be parsed as HTML. 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kWidevineCdmDescription[] = 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "Enables Widevine licenses for playback of HTML audio/video content."; 22424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#if defined(ENABLE_PEPPER_CDMS) 2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const char kWidevineCdmPluginMimeType[] = "application/x-ppapi-widevine-cdm"; 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kWidevineCdmPluginMimeTypeDescription[] = 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "Widevine Content Decryption Module"; 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// File name of the CDM on different platforms. 2990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const char kWidevineCdmFileName[] = 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_MACOSX) 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch "libwidevinecdm.dylib"; 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#elif defined(OS_WIN) 3390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) "widevinecdm.dll"; 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#else // OS_LINUX, etc. 3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) "libwidevinecdm.so"; 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// File name of the adapter on different platforms. 3990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const char kWidevineCdmAdapterFileName[] = 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) 4190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) "widevinecdmadapter.plugin"; 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_WIN) 4390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) "widevinecdmadapter.dll"; 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else // OS_LINUX, etc. 4590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) "libwidevinecdmadapter.so"; 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 481e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// The following strings are used to communicate supported codecs (from the 491e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// component manifest) via WebPluginInfo::WebPluginMimeType's additional params. 501e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)const char kCdmSupportedCodecsParamName[] = "codecs"; 511e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)const char kCdmSupportedCodecsValueDelimiter = ','; 521e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)const char kCdmSupportedCodecVorbis[] = "vorbis"; 531e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)const char kCdmSupportedCodecVp8[] = "vp8"; 545c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuconst char kCdmSupportedCodecVp9[] = "vp9.0"; 551e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#if defined(USE_PROPRIETARY_CODECS) 561e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)const char kCdmSupportedCodecAac[] = "aac"; 571e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)const char kCdmSupportedCodecAvc1[] = "avc1"; 581e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#endif // defined(USE_PROPRIETARY_CODECS) 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 60424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#if defined(OS_MACOSX) || defined(OS_WIN) 61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// CDM is installed by the component installer instead of the Chrome installer. 62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#define WIDEVINE_CDM_IS_COMPONENT 63424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#endif // defined(OS_MACOSX) || defined(OS_WIN) 64424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#endif // defined(ENABLE_PEPPER_CDMS) 65c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // WIDEVINE_CDM_WIDEVINE_CDM_COMMON_H_ 67