Result_t EncryptFrameBuffer(const ASDCP::FrameBuffer&, ASDCP::FrameBuffer&, AESEncContext*);
Result_t DecryptFrameBuffer(const ASDCP::FrameBuffer&, ASDCP::FrameBuffer&, AESDecContext*);
+ //
+ class KLReader : public ASDCP::KLVPacket
+ {
+ ASDCP_NO_COPY_CONSTRUCT(KLReader);
+ byte_t m_KeyBuf[SMPTE_UL_LENGTH*2];
+
+ public:
+ KLReader() {}
+ ~KLReader() {}
+
+ inline const byte_t* Key() { return m_KeyBuf; }
+ inline const ui64_t Length() { return m_ValueLength; }
+ inline const ui64_t KLLength() { return m_KLLength; }
+
+ Result_t ReadKLFromFile(Kumu::FileReader& Reader);
+ };
+
//
class h__Reader
{
const byte_t* EssenceUL, AESDecContext* Ctx, HMACContext* HMAC);
// reads from current position
- Result_t ReadEKLVPacket(ui32_t FrameNum, ASDCP::FrameBuffer& FrameBuf,
+ Result_t ReadEKLVPacket(ui32_t FrameNum, ui32_t SequenceNum, ASDCP::FrameBuffer& FrameBuf,
const byte_t* EssenceUL, AESDecContext* Ctx, HMACContext* HMAC);
void Close();
};
SourcePackage* m_FilePackage;
FileDescriptor* m_EssenceDescriptor;
- std::list<FileDescriptor*> m_EssenceSubDescriptorList;
+ std::list<InterchangeObject*> m_EssenceSubDescriptorList;
ui32_t m_FramesWritten;
ui64_t m_StreamOffset;
const std::string& PackageLabel);
void AddDMSegment(const MXF::Rational& EditRate, ui32_t TCFrameRate,
const std::string& TrackName, const UL& DataDefinition,
- const std::string& PackageLabel, const UMID& PackageUID);
+ const std::string& PackageLabel);
void AddEssenceDescriptor(const UL& WrappingUL);
Result_t CreateBodyPart(const MXF::Rational& EditRate, ui32_t BytesPerEditUnit = 0);