7 #ifndef PACKAGER_MEDIA_BASE_PLAYREADY_SOURCE_H_
8 #define PACKAGER_MEDIA_BASE_PLAYREADY_SOURCE_H_
14 #include <packager/macros/classes.h>
15 #include <packager/media/base/key_source.h>
28 ProtectionSystem protection_systems);
33 Status
FetchKeys(EmeInitDataType init_data_type,
34 const std::vector<uint8_t>& init_data)
override;
36 Status
GetKey(
const std::vector<uint8_t>& key_id,
39 int32_t crypto_period_duration_in_seconds,
40 const std::string& stream_label,
43 virtual Status FetchKeysWithProgramIdentifier(
const std::string& program_identifier);
50 const std::vector<uint8_t>& key_id,
51 const std::vector<uint8_t>& key);
54 Status GetKeyInternal();
55 Status GetCryptoPeriodKeyInternal();
58 bool generate_playready_protection_system_ =
true;
60 std::unique_ptr<EncryptionKey> encryption_key_;
61 std::string server_url_;
All the methods that are virtual are virtual for mocking.