9 #ifndef PACKAGER_MEDIA_BASE_AES_DECRYPTOR_H_
10 #define PACKAGER_MEDIA_BASE_AES_DECRYPTOR_H_
14 #include <packager/macros/classes.h>
15 #include <packager/media/base/aes_cryptor.h>
16 #include <packager/media/base/aes_encryptor.h>
22 using AesCtrDecryptor = AesCtrEncryptor;
41 ConstantIvFlag constant_iv_flag);
48 const std::vector<uint8_t>&
iv)
override;
50 size_t RequiredOutputSize(
size_t plaintext_size)
override;
54 bool CryptInternal(
const uint8_t* ciphertext,
55 size_t ciphertext_size,
57 size_t* plaintext_size)
override;
58 void SetIvInternal()
override;
59 void CbcDecryptBlocks(
const uint8_t* plaintext,
60 size_t plaintext_size,
64 const CbcPaddingScheme padding_scheme_;
66 std::vector<uint8_t> internal_iv_;
All the methods that are virtual are virtual for mocking.