key_systems_cast.cc revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
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
17namespace chromecast {
18namespace shell {
19
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
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