7 #ifndef PACKAGER_MEDIA_BASE_KEY_SOURCE_H_ 8 #define PACKAGER_MEDIA_BASE_KEY_SOURCE_H_ 13 #include "packager/media/base/protection_system_specific_info.h" 14 #include "packager/status.h" 21 enum class EmeInitDataType {
31 MAX = WIDEVINE_CLASSIC
38 std::vector<ProtectionSystemSpecificInfo> key_system_info;
39 std::vector<uint8_t> key_id;
40 std::vector<uint8_t> key;
41 std::vector<uint8_t> iv;
54 virtual Status FetchKeys(EmeInitDataType init_data_type,
55 const std::vector<uint8_t>& init_data) = 0;
62 virtual Status GetKey(
const std::string& stream_label,
70 virtual Status GetKey(
const std::vector<uint8_t>& key_id,
80 virtual Status GetCryptoPeriodKey(uint32_t crypto_period_index,
81 const std::string& stream_label,
91 #endif // PACKAGER_MEDIA_BASE_KEY_SOURCE_H_ All the methods that are virtual are virtual for mocking.