| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef MEDIA_BASE_KEY_SYSTEM_INFO_H_ | 5 #ifndef MEDIA_BASE_KEY_SYSTEM_INFO_H_ |
| 6 #define MEDIA_BASE_KEY_SYSTEM_INFO_H_ | 6 #define MEDIA_BASE_KEY_SYSTEM_INFO_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "media/base/eme_constants.h" | 10 #include "media/base/eme_constants.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 // * Parent key system | 23 // * Parent key system |
| 24 // A key system string that is one level up from the child key system. It may | 24 // A key system string that is one level up from the child key system. It may |
| 25 // be an abstract key system. | 25 // be an abstract key system. |
| 26 // As an example, "com.example" is the parent of "com.example.foo". | 26 // As an example, "com.example" is the parent of "com.example.foo". |
| 27 | 27 |
| 28 namespace media { | 28 namespace media { |
| 29 | 29 |
| 30 // Contains information about an EME key system as well as how to instantiate | 30 // Contains information about an EME key system as well as how to instantiate |
| 31 // the corresponding CDM. | 31 // the corresponding CDM. |
| 32 struct MEDIA_EXPORT KeySystemInfo { | 32 struct MEDIA_EXPORT KeySystemInfo { |
| 33 explicit KeySystemInfo(const std::string& key_system); | 33 KeySystemInfo(); |
| 34 ~KeySystemInfo(); | 34 ~KeySystemInfo(); |
| 35 | 35 |
| 36 std::string key_system; | 36 std::string key_system; |
| 37 | 37 |
| 38 // Specifies registered initialization data types supported by |key_system|. | 38 // Specifies registered initialization data types supported by |key_system|. |
| 39 SupportedInitDataTypes supported_init_data_types; | 39 SupportedInitDataTypes supported_init_data_types; |
| 40 | 40 |
| 41 // Specifies codecs supported by |key_system|. | 41 // Specifies codecs supported by |key_system|. |
| 42 SupportedCodecs supported_codecs; | 42 SupportedCodecs supported_codecs; |
| 43 | 43 |
| 44 // Specifies session types and features supported by |key_system|. |
| 45 EmeSessionTypeSupport persistent_license_support; |
| 46 EmeSessionTypeSupport persistent_release_message_support; |
| 47 EmeFeatureSupport persistent_state_support; |
| 48 EmeFeatureSupport distinctive_identifier_support; |
| 49 |
| 44 // A hierarchical parent for |key_system|. This value can be used to check | 50 // A hierarchical parent for |key_system|. This value can be used to check |
| 45 // supported types but cannot be used to instantiate a MediaKeys object. | 51 // supported types but cannot be used to instantiate a MediaKeys object. |
| 46 // Only one parent key system is currently supported per concrete key system. | 52 // Only one parent key system is currently supported per concrete key system. |
| 47 std::string parent_key_system; | 53 std::string parent_key_system; |
| 48 | 54 |
| 49 // The following indicate how the corresponding CDM should be instantiated. | 55 // The following indicate how the corresponding CDM should be instantiated. |
| 50 bool use_aes_decryptor; | 56 bool use_aes_decryptor; |
| 51 #if defined(ENABLE_PEPPER_CDMS) | 57 #if defined(ENABLE_PEPPER_CDMS) |
| 52 std::string pepper_type; | 58 std::string pepper_type; |
| 53 #endif | 59 #endif |
| 54 }; | 60 }; |
| 55 | 61 |
| 56 } // namespace media | 62 } // namespace media |
| 57 | 63 |
| 58 #endif // MEDIA_BASE_KEY_SYSTEM_INFO_H_ | 64 #endif // MEDIA_BASE_KEY_SYSTEM_INFO_H_ |
| OLD | NEW |