7 #ifndef MEDIA_BASE_KEY_SOURCE_H_
8 #define MEDIA_BASE_KEY_SOURCE_H_
12 #include "packager/base/memory/scoped_ptr.h"
13 #include "packager/media/base/status.h"
15 namespace edash_packager {
18 const uint8_t kWidevineSystemId[] = {0xed, 0xef, 0x8b, 0xa9, 0x79, 0xd6,
19 0x4a, 0xce, 0xa3, 0xc8, 0x27, 0xdc,
20 0xd5, 0x1d, 0x21, 0xed};
26 std::vector<uint8_t> key_id;
27 std::vector<uint8_t> key;
28 std::vector<uint8_t> pssh;
29 std::vector<uint8_t> iv;
36 TRACK_TYPE_UNKNOWN = 0,
40 TRACK_TYPE_UNSPECIFIED = 4,
41 NUM_VALID_TRACK_TYPES = 4
51 const std::string& policy);
61 virtual Status FetchKeys(
const std::vector<std::vector<uint8_t>>& key_ids);
98 virtual std::string
UUID();
116 const std::string& key_id_hex,
117 const std::string& key_hex,
118 const std::string& pssh_data_hex,
119 const std::string& iv_hex);
133 const std::vector<uint8_t>& pssh_data);
136 explicit KeySource(scoped_ptr<EncryptionKey> encryption_key);
138 scoped_ptr<EncryptionKey> encryption_key_;
146 #endif // MEDIA_BASE_KEY_SOURCE_H_