Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Side by Side Diff: media/cdm/json_web_key.h

Issue 2568463003: media: Rename MediaKeys to ContentDecryptionModule (Closed)
Patch Set: comments addressed Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/cdm/default_cdm_factory.cc ('k') | media/cdm/json_web_key.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_CDM_JSON_WEB_KEY_H_ 5 #ifndef MEDIA_CDM_JSON_WEB_KEY_H_
6 #define MEDIA_CDM_JSON_WEB_KEY_H_ 6 #define MEDIA_CDM_JSON_WEB_KEY_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <string> 10 #include <string>
11 #include <utility> 11 #include <utility>
12 #include <vector> 12 #include <vector>
13 13
14 #include "media/base/content_decryption_module.h"
14 #include "media/base/media_export.h" 15 #include "media/base/media_export.h"
15 #include "media/base/media_keys.h"
16 16
17 namespace media { 17 namespace media {
18 18
19 // The ClearKey license request format is a JSON object containing the following 19 // The ClearKey license request format is a JSON object containing the following
20 // members (http://w3c.github.io/encrypted-media/#clear-key-request-format): 20 // members (http://w3c.github.io/encrypted-media/#clear-key-request-format):
21 // "kids" : An array of key IDs. Each element of the array is the base64url 21 // "kids" : An array of key IDs. Each element of the array is the base64url
22 // encoding of the octet sequence containing the key ID value. 22 // encoding of the octet sequence containing the key ID value.
23 // "type" : The requested MediaKeySessionType. 23 // "type" : The requested MediaKeySessionType.
24 // An example: 24 // An example:
25 // { "kids":["67ef0gd8pvfd0","77ef0gd8pvfd0"], "type":"temporary" } 25 // { "kids":["67ef0gd8pvfd0","77ef0gd8pvfd0"], "type":"temporary" }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 typedef std::pair<std::string, std::string> KeyIdAndKeyPair; 57 typedef std::pair<std::string, std::string> KeyIdAndKeyPair;
58 typedef std::vector<KeyIdAndKeyPair> KeyIdAndKeyPairs; 58 typedef std::vector<KeyIdAndKeyPair> KeyIdAndKeyPairs;
59 59
60 // Converts a single |key|, |key_id| pair to a JSON Web Key Set. 60 // Converts a single |key|, |key_id| pair to a JSON Web Key Set.
61 MEDIA_EXPORT std::string GenerateJWKSet(const uint8_t* key, 61 MEDIA_EXPORT std::string GenerateJWKSet(const uint8_t* key,
62 int key_length, 62 int key_length,
63 const uint8_t* key_id, 63 const uint8_t* key_id,
64 int key_id_length); 64 int key_id_length);
65 65
66 // Converts a set of |key|, |key_id| pairs to a JSON Web Key Set. 66 // Converts a set of |key|, |key_id| pairs to a JSON Web Key Set.
67 MEDIA_EXPORT std::string GenerateJWKSet(const KeyIdAndKeyPairs& keys, 67 MEDIA_EXPORT std::string GenerateJWKSet(
68 MediaKeys::SessionType session_type); 68 const KeyIdAndKeyPairs& keys,
69 ContentDecryptionModule::SessionType session_type);
69 70
70 // Extracts the JSON Web Keys from a JSON Web Key Set. If |input| looks like 71 // Extracts the JSON Web Keys from a JSON Web Key Set. If |input| looks like
71 // a valid JWK Set, then true is returned and |keys| and |session_type| are 72 // a valid JWK Set, then true is returned and |keys| and |session_type| are
72 // updated to contain the values found. Otherwise return false. 73 // updated to contain the values found. Otherwise return false.
73 MEDIA_EXPORT bool ExtractKeysFromJWKSet(const std::string& jwk_set, 74 MEDIA_EXPORT bool ExtractKeysFromJWKSet(
74 KeyIdAndKeyPairs* keys, 75 const std::string& jwk_set,
75 MediaKeys::SessionType* session_type); 76 KeyIdAndKeyPairs* keys,
77 ContentDecryptionModule::SessionType* session_type);
76 78
77 // Extracts the Key Ids from a Key IDs Initialization Data 79 // Extracts the Key Ids from a Key IDs Initialization Data
78 // (https://w3c.github.io/encrypted-media/keyids-format.html). If |input| looks 80 // (https://w3c.github.io/encrypted-media/keyids-format.html). If |input| looks
79 // valid, then true is returned and |key_ids| is updated to contain the values 81 // valid, then true is returned and |key_ids| is updated to contain the values
80 // found. Otherwise return false and |error_message| contains the reason. 82 // found. Otherwise return false and |error_message| contains the reason.
81 MEDIA_EXPORT bool ExtractKeyIdsFromKeyIdsInitData(const std::string& input, 83 MEDIA_EXPORT bool ExtractKeyIdsFromKeyIdsInitData(const std::string& input,
82 KeyIdList* key_ids, 84 KeyIdList* key_ids,
83 std::string* error_message); 85 std::string* error_message);
84 86
85 // Creates a license request message for the |key_ids| and |session_type| 87 // Creates a license request message for the |key_ids| and |session_type|
86 // specified. |license| is updated to contain the resulting JSON string. 88 // specified. |license| is updated to contain the resulting JSON string.
87 MEDIA_EXPORT void CreateLicenseRequest(const KeyIdList& key_ids, 89 MEDIA_EXPORT void CreateLicenseRequest(
88 MediaKeys::SessionType session_type, 90 const KeyIdList& key_ids,
89 std::vector<uint8_t>* license); 91 ContentDecryptionModule::SessionType session_type,
92 std::vector<uint8_t>* license);
90 93
91 // Creates a keyIDs init_data message for the |key_ids| specified. 94 // Creates a keyIDs init_data message for the |key_ids| specified.
92 // |key_ids_init_data| is updated to contain the resulting JSON string. 95 // |key_ids_init_data| is updated to contain the resulting JSON string.
93 MEDIA_EXPORT void CreateKeyIdsInitData(const KeyIdList& key_ids, 96 MEDIA_EXPORT void CreateKeyIdsInitData(const KeyIdList& key_ids,
94 std::vector<uint8_t>* key_ids_init_data); 97 std::vector<uint8_t>* key_ids_init_data);
95 98
96 // Extract the first key from the license request message. Returns true if 99 // Extract the first key from the license request message. Returns true if
97 // |license| is a valid license request and contains at least one key, 100 // |license| is a valid license request and contains at least one key,
98 // otherwise false and |first_key| is not touched. 101 // otherwise false and |first_key| is not touched.
99 MEDIA_EXPORT bool ExtractFirstKeyIdFromLicenseRequest( 102 MEDIA_EXPORT bool ExtractFirstKeyIdFromLicenseRequest(
100 const std::vector<uint8_t>& license, 103 const std::vector<uint8_t>& license,
101 std::vector<uint8_t>* first_key); 104 std::vector<uint8_t>* first_key);
102 105
103 } // namespace media 106 } // namespace media
104 107
105 #endif // MEDIA_CDM_JSON_WEB_KEY_H_ 108 #endif // MEDIA_CDM_JSON_WEB_KEY_H_
OLDNEW
« no previous file with comments | « media/cdm/default_cdm_factory.cc ('k') | media/cdm/json_web_key.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698