Finished implementation of J2KExtendedCapabilities
[asdcplib.git] / src / MXFTypes.h
index 0c79e8c14537c01c80097490320bfe1000f7d609..322010826f6ff5b708b3eda8f38a4ccdf1da71c1 100755 (executable)
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2005-2016, John Hurst
+Copyright (c) 2005-2019, John Hurst
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -33,6 +33,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #define _MXFTYPES_H_
 
 #include "KLV.h"
+#include "AS_DCP.h"
 #include <list>
 #include <vector>
 #include <set>
@@ -688,29 +689,19 @@ namespace ASDCP
          const char* EncodeString(char* str_buf, ui32_t buf_len) const;
        };
 
+      //
       class J2KExtendedCapabilities : public Kumu::IArchive
         {
         public:
-         i8_t Pcap;
-         i8_t Ccapi[16]; // this is certainly wrong, need the spec
+         ui8_t Pcap; // TODO: is this the right type?
+         ui16_t Ccapi[JP2K::MaxCapabilities];
        
          bool HasValue() const { return true; }
          ui32_t ArchiveLength() const { return 0; }
 
-         bool Archive(Kumu::MemIOWriter* Writer) const {
-           return true;
-         }
-
-         bool Unarchive(Kumu::MemIOReader* Reader) {
-           return true;
-         }
-
-         const char* EncodeString(char* str_buf, ui32_t buf_len) const
-         {
-           str_buf[0] = 0;
-           return str_buf;
-         }
-
+         bool Archive(Kumu::MemIOWriter* Writer) const;
+         bool Unarchive(Kumu::MemIOReader* Reader);
+         const char* EncodeString(char* str_buf, ui32_t buf_len) const;
       };
 
     } // namespace MXF