Fix typo.
[asdcplib.git] / src / AS_DCP_internal.h
index 7242ef8ae178e1f86b5f4ef9aebe08574b474297..ed9eec7e92dbd9d0878ba1bd60a942475a3beca1 100755 (executable)
@@ -90,6 +90,23 @@ namespace ASDCP
   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
     {
@@ -117,7 +134,7 @@ namespace ASDCP
                             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();
     };
@@ -177,7 +194,7 @@ namespace ASDCP
       SourcePackage*     m_FilePackage;
 
       FileDescriptor*    m_EssenceDescriptor;
-      std::list<FileDescriptor*> m_EssenceSubDescriptorList;
+      std::list<InterchangeObject*> m_EssenceSubDescriptorList;
 
       ui32_t             m_FramesWritten;
       ui64_t             m_StreamOffset;
@@ -195,7 +212,7 @@ namespace ASDCP
                         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);