#include "cast/streaming/impl/frame_crypto.h"
#include <random>
#include <utility>
#include "openssl/crypto.h"
#include "openssl/err.h"
#include "openssl/rand.h"
#include "platform/base/span.h"
#include "util/big_endian.h"
#include "util/crypto/openssl_util.h"
#include "util/crypto/random_bytes.h"
#include "util/osp_logging.h"
namespace openscreen::cast {
EncryptedFrame::EncryptedFrame() { … }
EncryptedFrame::~EncryptedFrame() = default;
EncryptedFrame::EncryptedFrame(EncryptedFrame&& other) noexcept
: … { … }
EncryptedFrame& EncryptedFrame::operator=(EncryptedFrame&& other) { … }
FrameCrypto::FrameCrypto(const std::array<uint8_t, 16>& aes_key,
const std::array<uint8_t, 16>& cast_iv_mask)
: … { … }
FrameCrypto::~FrameCrypto() = default;
EncryptedFrame FrameCrypto::Encrypt(const EncodedFrame& encoded_frame) const { … }
void FrameCrypto::Decrypt(const EncryptedFrame& encrypted_frame,
ByteBuffer out) const { … }
void FrameCrypto::EncryptCommon(FrameId frame_id,
ByteView in,
ByteBuffer out) const { … }
}