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 |