Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / chromecast / renderer / key_systems_cast.cc
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/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 "media/base/eme_constants.h"
14
15 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
16
17 namespace chromecast {
18 namespace shell {
19
20 void AddKeySystemWithCodecs(
21     const std::string& key_system_name,
22     std::vector< ::media::KeySystemInfo>* concrete_key_systems) {
23   ::media::KeySystemInfo info(key_system_name);
24   info.supported_codecs = ::media::EME_CODEC_MP4_ALL;
25   concrete_key_systems->push_back(info);
26 }
27
28 void AddChromecastKeySystems(
29     std::vector< ::media::KeySystemInfo>* key_systems_info) {
30 #if defined(WIDEVINE_CDM_AVAILABLE)
31   AddWidevineWithCodecs(cdm::WIDEVINE,
32                         ::media::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