| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/cdm/renderer/android_key_systems.h" | 5 #include "components/cdm/renderer/android_key_systems.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 } | 84 } |
| 85 EmeFeatureSupport GetDistinctiveIdentifierSupport() const override { | 85 EmeFeatureSupport GetDistinctiveIdentifierSupport() const override { |
| 86 return EmeFeatureSupport::ALWAYS_ENABLED; | 86 return EmeFeatureSupport::ALWAYS_ENABLED; |
| 87 } | 87 } |
| 88 | 88 |
| 89 private: | 89 private: |
| 90 const std::string name_; | 90 const std::string name_; |
| 91 const SupportedCodecs supported_codecs_; | 91 const SupportedCodecs supported_codecs_; |
| 92 }; | 92 }; |
| 93 | 93 |
| 94 } // namespace | 94 SupportedKeySystemResponse QueryKeySystemSupport( |
| 95 | |
| 96 static SupportedKeySystemResponse QueryKeySystemSupport( | |
| 97 const std::string& key_system) { | 95 const std::string& key_system) { |
| 98 SupportedKeySystemRequest request; | 96 SupportedKeySystemRequest request; |
| 99 SupportedKeySystemResponse response; | 97 SupportedKeySystemResponse response; |
| 100 | 98 |
| 101 request.key_system = key_system; | 99 request.key_system = key_system; |
| 102 request.codecs = media::EME_CODEC_ALL; | 100 request.codecs = media::EME_CODEC_ALL; |
| 103 content::RenderThread::Get()->Send( | 101 content::RenderThread::Get()->Send( |
| 104 new ChromeViewHostMsg_QueryKeySystemSupport(request, &response)); | 102 new ChromeViewHostMsg_QueryKeySystemSupport(request, &response)); |
| 105 DCHECK(!(response.compositing_codecs & ~media::EME_CODEC_ALL)) | 103 DCHECK(!(response.compositing_codecs & ~media::EME_CODEC_ALL)) |
| 106 << "unrecognized codec"; | 104 << "unrecognized codec"; |
| 107 DCHECK(!(response.non_compositing_codecs & ~media::EME_CODEC_ALL)) | 105 DCHECK(!(response.non_compositing_codecs & ~media::EME_CODEC_ALL)) |
| 108 << "unrecognized codec"; | 106 << "unrecognized codec"; |
| 109 return response; | 107 return response; |
| 110 } | 108 } |
| 111 | 109 |
| 110 } // namespace |
| 111 |
| 112 void AddAndroidWidevine( | 112 void AddAndroidWidevine( |
| 113 std::vector<std::unique_ptr<KeySystemProperties>>* concrete_key_systems) { | 113 std::vector<std::unique_ptr<KeySystemProperties>>* concrete_key_systems) { |
| 114 SupportedKeySystemResponse response = QueryKeySystemSupport( | 114 SupportedKeySystemResponse response = QueryKeySystemSupport( |
| 115 kWidevineKeySystem); | 115 kWidevineKeySystem); |
| 116 | 116 |
| 117 // Since we do not control the implementation of the MediaDrm API on Android, | 117 // Since we do not control the implementation of the MediaDrm API on Android, |
| 118 // we assume that it can and will make use of persistence even though no | 118 // we assume that it can and will make use of persistence even though no |
| 119 // persistence-based features are supported. | 119 // persistence-based features are supported. |
| 120 | 120 |
| 121 if (response.compositing_codecs != media::EME_CODEC_NONE) { | 121 if (response.compositing_codecs != media::EME_CODEC_NONE) { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 144 it != key_system_names.end(); ++it) { | 144 it != key_system_names.end(); ++it) { |
| 145 SupportedKeySystemResponse response = QueryKeySystemSupport(*it); | 145 SupportedKeySystemResponse response = QueryKeySystemSupport(*it); |
| 146 if (response.compositing_codecs != media::EME_CODEC_NONE) { | 146 if (response.compositing_codecs != media::EME_CODEC_NONE) { |
| 147 concrete_key_systems->emplace_back(new AndroidPlatformKeySystemProperties( | 147 concrete_key_systems->emplace_back(new AndroidPlatformKeySystemProperties( |
| 148 *it, response.compositing_codecs)); | 148 *it, response.compositing_codecs)); |
| 149 } | 149 } |
| 150 } | 150 } |
| 151 } | 151 } |
| 152 | 152 |
| 153 } // namespace cdm | 153 } // namespace cdm |
| OLD | NEW |