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 #include "chromecast/shell/renderer/key_systems_cast.h" 6 7 #include <string> 8 9 #include "base/command_line.h" 10 #include "base/logging.h" 11 #include "chromecast/media/base/key_systems_common.h" 12 #include "components/cdm/renderer/widevine_key_systems.h" 13 #include "content/public/common/eme_codec.h" 14 15 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. 16 17 namespace chromecast { 18 namespace shell { 19 AddKeySystemWithCodecs(const std::string & key_system_name,std::vector<content::KeySystemInfo> * concrete_key_systems)20void AddKeySystemWithCodecs( 21 const std::string& key_system_name, 22 std::vector<content::KeySystemInfo>* concrete_key_systems) { 23 content::KeySystemInfo info(key_system_name); 24 info.supported_codecs = content::EME_CODEC_MP4_ALL; 25 concrete_key_systems->push_back(info); 26 } 27 AddChromecastKeySystems(std::vector<content::KeySystemInfo> * key_systems_info)28void AddChromecastKeySystems( 29 std::vector<content::KeySystemInfo>* key_systems_info) { 30 #if defined(WIDEVINE_CDM_AVAILABLE) 31 AddWidevineWithCodecs(cdm::WIDEVINE, 32 content::EME_CODEC_MP4_ALL, 33 key_systems_info); 34 #endif 35 36 #if defined(PLAYREADY_CDM_AVAILABLE) 37 AddKeySystemWithCodecs(media::kChromecastPlayreadyKeySystem, 38 key_systems_info); 39 #endif 40 } 41 42 } // namespace shell 43 } // namespace chromecast 44