Fix ADSCP warnings.
authorCarl Hetherington <cth@carlh.net>
Mon, 16 Jul 2012 18:43:03 +0000 (19:43 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 16 Jul 2012 18:43:03 +0000 (19:43 +0100)
18 files changed:
asdcplib/src/AS_DCP_JP2K.cpp
asdcplib/src/AS_DCP_MPEG2.cpp
asdcplib/src/AS_DCP_PCM.cpp
asdcplib/src/AS_DCP_internal.h
asdcplib/src/JP2K_Codestream_Parser.cpp
asdcplib/src/KM_fileio.cpp
asdcplib/src/KM_fileio.h
asdcplib/src/KM_log.cpp
asdcplib/src/KM_util.cpp
asdcplib/src/KM_util.h
asdcplib/src/KM_xml.cpp
asdcplib/src/MDD.cpp
asdcplib/src/MPEG2_Parser.cpp
asdcplib/src/MXF.cpp
asdcplib/src/MXFTypes.h
asdcplib/src/h__Reader.cpp
asdcplib/src/h__Writer.cpp
wscript

index 44fbc093513630708e4bb3c616cfb614fe7d2195..ca6d52705a86f41ea422d9bcfaf362fb45abeebd 100755 (executable)
@@ -315,12 +315,12 @@ lh__Reader::OpenRead(const char* filename, EssenceType_t type)
              DefaultLogSink().Warn("EditRate and SampleRate do not match (%.03f, %.03f).\n",
                                    m_EditRate.Quotient(), m_SampleRate.Quotient());
              
-             if ( m_EditRate == EditRate_24 && m_SampleRate == EditRate_48 ||
-                  m_EditRate == EditRate_25 && m_SampleRate == EditRate_50 ||
-                  m_EditRate == EditRate_30 && m_SampleRate == EditRate_60 ||
-                  m_EditRate == EditRate_48 && m_SampleRate == EditRate_96 ||
-                  m_EditRate == EditRate_50 && m_SampleRate == EditRate_100 ||
-                  m_EditRate == EditRate_60 && m_SampleRate == EditRate_120 )
+             if ( (m_EditRate == EditRate_24 && m_SampleRate == EditRate_48) ||
+                  (m_EditRate == EditRate_25 && m_SampleRate == EditRate_50) ||
+                  (m_EditRate == EditRate_30 && m_SampleRate == EditRate_60) ||
+                  (m_EditRate == EditRate_48 && m_SampleRate == EditRate_96) ||
+                  (m_EditRate == EditRate_50 && m_SampleRate == EditRate_100) ||
+                  (m_EditRate == EditRate_60 && m_SampleRate == EditRate_120) )
                {
                  DefaultLogSink().Debug("File may contain JPEG Interop stereoscopic images.\n");
                  return RESULT_SFORMAT;
@@ -874,7 +874,9 @@ lh__Writer::JP2K_PDesc_to_MD(JP2K::PictureDescriptor& PDesc)
   const ui32_t tmp_buffer_len = 1024;
   byte_t tmp_buffer[tmp_buffer_len];
 
-  *(ui32_t*)tmp_buffer = KM_i32_BE(MaxComponents); // three components
+  ui32_t* tmp_buffer_ui32 = (ui32_t*) tmp_buffer;
+  *tmp_buffer_ui32 = KM_i32_BE(MaxComponents); // three components
+  
   *(ui32_t*)(tmp_buffer+4) = KM_i32_BE(sizeof(ASDCP::JP2K::ImageComponent_t));
   memcpy(tmp_buffer + 8, &PDesc.ImageComponents, sizeof(ASDCP::JP2K::ImageComponent_t) * MaxComponents);
 
index c625c0ce62926228da0f9cb98752c16a73324fa2..bc64c1e7837e737f5f7643c33a59fa942a6ef78b 100755 (executable)
@@ -585,6 +585,8 @@ ASDCP::MPEG2::MXFWriter::h__Writer::WriteFrame(const FrameBuffer& FrameBuf, AESE
     case FRAME_I: Flags = 0x00; break;
     case FRAME_P: Flags = 0x22; break;
     case FRAME_B: Flags = 0x33; break;
+    /* Keep gcc quiet */
+    case FRAME_U: break;
     }
 
   if ( FrameBuf.GOPStart() )
index 136a3edcbd5d2a7d026edd436d7bd6cf74a607b3..8639cb0f2296a6b8d2a96651b16867e8308e3b0b 100755 (executable)
@@ -77,6 +77,10 @@ PCM_ADesc_to_MD(PCM::AudioDescriptor& ADesc, MXF::WaveAudioDescriptor* ADescObj)
       case PCM::CF_CFG_5:
        ADescObj->ChannelAssignment = DefaultSMPTEDict().Type(MDD_DCAudioChannelCfg_5_7p1_DS).ul;
        break;
+
+      case PCM::CF_NONE:
+        /* Keep gcc quiet */
+        break;
     }
 
   return RESULT_OK;
index 811a87c231f1ed99e16e99efc99361cf30fd9ac1..4c1507c878171a0f72eb293149a7efb74acb53ef 100755 (executable)
@@ -110,9 +110,9 @@ namespace ASDCP
       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; }
+      inline byte_t* Key() { return m_KeyBuf; }
+      inline ui64_t  Length() { return m_ValueLength; }
+      inline ui64_t  KLLength() { return m_KLLength; }
       
       Result_t ReadKLFromFile(Kumu::FileReader& Reader);
     };
index 02d05671ed7459188a0bf16868be379c29274150..c78912318b245f6bca0ab4783c80c10690a1f670 100755 (executable)
@@ -179,6 +179,26 @@ ASDCP::JP2K::ParseMetadataIntoDesc(const FrameBuffer& FB, PictureDescriptor& PDe
          memcpy(&PDesc.QuantizationDefault, NextMarker.m_Data, NextMarker.m_DataSize);
          PDesc.QuantizationDefault.SPqcdLength = NextMarker.m_DataSize - 1;
          break;
+
+       case MRK_NIL:
+       case MRK_SOC:
+       case MRK_SOT:
+       case MRK_EOC:
+       case MRK_COC:
+       case MRK_RGN:
+       case MRK_QCC:
+       case MRK_POC:
+       case MRK_TLM:
+       case MRK_PLM:
+       case MRK_PLT:
+       case MRK_PPM:
+       case MRK_PPT:
+       case MRK_SOP:
+       case MRK_EPH:
+       case MRK_CRG:
+       case MRK_COM:
+         /* Keep gcc quiet */
+         break;
        }
     }
 
index bb35ba0f76759a8005909f5952b698b20a0d9c75..4bc92af79188501adf71749e0745898dce686c85 100644 (file)
@@ -1102,7 +1102,7 @@ Kumu::WriteStringIntoFile(const char* filename, const std::string& inString)
 
 //
 Kumu::Result_t
-Kumu::ReadFileIntoObject(const std::string& Filename, Kumu::IArchive& Object, ui32_t max_size)
+Kumu::ReadFileIntoObject(const std::string& Filename, Kumu::IArchive& Object, ui32_t)
 {
   ByteString Buffer;
   ui32_t file_size = static_cast<ui32_t>(FileSize(Filename));
@@ -1163,7 +1163,7 @@ Kumu::WriteObjectIntoFile(const Kumu::IArchive& Object, const std::string& Filen
 
 //
 Result_t
-Kumu::ReadFileIntoBuffer(const std::string& Filename, Kumu::ByteString& Buffer, ui32_t max_size)
+Kumu::ReadFileIntoBuffer(const std::string& Filename, Kumu::ByteString& Buffer, ui32_t)
 {
   ui32_t file_size = FileSize(Filename);
   Result_t result = Buffer.Capacity(file_size);
index ac45cf08a1d2beb2bc50ff399fa5deed0fd8fc21..2f2718cdeeb92db785ecbaaa8a7ffc58d9aad665 100755 (executable)
@@ -179,7 +179,7 @@ namespace Kumu
   {
   public:
     virtual ~PathMatchAny() {}
-    inline bool Match(const std::string& s) const { return true; }
+    inline bool Match(const std::string&) const { return true; }
   };
 
 #ifndef KM_WIN32
index e3608c4af19218b20a5d1393c8ab58f4b257b517..7bd59264f63c00867307ae62a91837aab75f0f80 100755 (executable)
@@ -186,7 +186,7 @@ Kumu::SyslogLogSink::~SyslogLogSink()
 void
 Kumu::SyslogLogSink::WriteEntry(const LogEntry& Entry)
 {
-  int priority;
+  int priority = 0;
 
   switch ( Entry.Type )
     {
index 489e7bd7a9ab1495573d79d80fdff7c12bf51fab..325bd2dada524aee458db72df86899f5b4ede42f 100755 (executable)
@@ -129,7 +129,7 @@ Kumu::Result_t::Get(unsigned int i)
 }
 
 //
-Kumu::Result_t::Result_t(int v, const char* s, const char* l) : value(v), symbol(s), label(l)
+Kumu::Result_t::Result_t(int v, const char* s, const char* l) : value(v), label(l), symbol(s)
 {
   assert(l);
   assert(s);
index c3e5af8758759b64760b1a041394a0b674a3a436..78f07398e4d70319371c781c62ea3a17e652422c 100755 (executable)
@@ -527,7 +527,7 @@ namespace Kumu
       }
     };
 
-  inline void hexdump(const ByteString& buf, FILE* stream = 0) {
+  inline void hexdump(const ByteString& buf, FILE*) {
     hexdump(buf.RoData(), buf.Length());
   }
 
index 6542084a59f07ce58d9d1de39ae667f2266dd962..9521c450f3a4ac89dc9854531aab76a5d951c073 100644 (file)
@@ -559,7 +559,7 @@ struct xph_test_wrapper
 // expat wrapper functions, map callbacks to IASAXHandler
 // 
 static void
-xph_test_start(void* p, const XML_Char* name, const XML_Char** attrs)
+xph_test_start(void* p, const XML_Char*, const XML_Char**)
 {
   assert(p);
   xph_test_wrapper* Wrapper = (xph_test_wrapper*)p;
index 4cdd80f410afc35539697eb233d9db0c7abf9cb7..ac8f0dd92eaa10de75844db7b857a2cd3855d5b6 100644 (file)
@@ -37,151 +37,151 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 static const ASDCP::MDDEntry s_MDD_Table[] = {
   { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "MICAlgorithm_NONE" },
+      {0, 0}, false, "MICAlgorithm_NONE" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, // 1
       0x0d, 0x01, 0x02, 0x01, 0x10, 0x00, 0x00, 0x00 },
-      {0}, false, "MXFInterop_OPAtom" },
+      {0, 0}, false, "MXFInterop_OPAtom" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x02, // 2
       0x0d, 0x01, 0x02, 0x01, 0x10, 0x00, 0x00, 0x00 },
-      {0}, false, "OPAtom" },
+      {0, 0}, false, "OPAtom" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, // 3
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00 },
-      {0}, false, "OP1a" },
+      {0, 0}, false, "OP1a" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x03, // 4
       0x0d, 0x01, 0x03, 0x01, 0x02, 0x7f, 0x01, 0x00 },
-      {0}, false, "GCMulti" },
+      {0, 0}, false, "GCMulti" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, // 5
       0x01, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "PictureDataDef" },
+      {0, 0}, false, "PictureDataDef" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, // 6
       0x01, 0x03, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00 },
-      {0}, false, "SoundDataDef" },
+      {0, 0}, false, "SoundDataDef" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, // 7
       0x01, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "TimecodeDataDef" },
+      {0, 0}, false, "TimecodeDataDef" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, // 8
       0x01, 0x03, 0x02, 0x01, 0x10, 0x00, 0x00, 0x00 },
-      {0}, false, "DescriptiveMetaDataDef" },
+      {0, 0}, false, "DescriptiveMetaDataDef" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, // 9
       0x0d, 0x01, 0x03, 0x01, 0x02, 0x06, 0x01, 0x00 },
-      {0}, false, "WAVWrapping" },
+      {0, 0}, false, "WAVWrapping" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x02, // 10
       0x0d, 0x01, 0x03, 0x01, 0x02, 0x04, 0x60, 0x00 },
-      {0}, false, "MPEG2_VESWrapping" },
+      {0, 0}, false, "MPEG2_VESWrapping" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x07, // 11
       0x0d, 0x01, 0x03, 0x01, 0x02, 0x0c, 0x01, 0x00 },
-      {0}, false, "JPEG_2000Wrapping" },
+      {0, 0}, false, "JPEG_2000Wrapping" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x01, // 12
       0x0d, 0x01, 0x03, 0x01, 0x15, 0x01, 0x08, 0x00 },
-      {0}, false, "JPEG2000Essence" },
+      {0, 0}, false, "JPEG2000Essence" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x01, // 13
       0x0d, 0x01, 0x03, 0x01, 0x15, 0x01, 0x05, 0x00 },
-      {0}, false, "MPEG2Essence" },
+      {0, 0}, false, "MPEG2Essence" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x04, 0x01, 0x07, // 14
       0x0d, 0x01, 0x03, 0x01, 0x02, 0x7e, 0x01, 0x00 },
-      {0}, false, "MXFInterop_CryptEssence" },
+      {0, 0}, false, "MXFInterop_CryptEssence" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x04, 0x01, 0x01, // 15
       0x0d, 0x01, 0x03, 0x01, 0x02, 0x7e, 0x01, 0x00 },
-      {0}, false, "CryptEssence" },
+      {0, 0}, false, "CryptEssence" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x01, // 16
       0x0d, 0x01, 0x03, 0x01, 0x16, 0x01, 0x01, 0x00 },
-      {0}, false, "WAVEssence" },
+      {0, 0}, false, "WAVEssence" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x09, // 17
       0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x03 },
-      {0}, false, "JP2KEssenceCompression_2K" },
+      {0, 0}, false, "JP2KEssenceCompression_2K" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x09, // 18
       0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x04 },
-      {0}, false, "JP2KEssenceCompression_4K" },
+      {0, 0}, false, "JP2KEssenceCompression_4K" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x07, // 19
       0x02, 0x09, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "CipherAlgorithm_AES" },
+      {0, 0}, false, "CipherAlgorithm_AES" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x07, // 20
       0x02, 0x09, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "MICAlgorithm_HMAC_SHA1" },
+      {0, 0}, false, "MICAlgorithm_HMAC_SHA1" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 21
       0x03, 0x01, 0x02, 0x10, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "KLVFill" },
+      {0, 0}, false, "KLVFill" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 22
       0x03, 0x01, 0x02, 0x01, 0x06, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_MajorVersion" },
+      {0, 0}, false, "PartitionMetadata_MajorVersion" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 23
       0x03, 0x01, 0x02, 0x01, 0x07, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_MinorVersion" },
+      {0, 0}, false, "PartitionMetadata_MinorVersion" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 24
       0x03, 0x01, 0x02, 0x01, 0x09, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_KAGSize" },
+      {0, 0}, false, "PartitionMetadata_KAGSize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 25
       0x06, 0x10, 0x10, 0x03, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_ThisPartition" },
+      {0, 0}, false, "PartitionMetadata_ThisPartition" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 26
       0x06, 0x10, 0x10, 0x02, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_PreviousPartition" },
+      {0, 0}, false, "PartitionMetadata_PreviousPartition" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 27
       0x06, 0x10, 0x10, 0x05, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_FooterPartition" },
+      {0, 0}, false, "PartitionMetadata_FooterPartition" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 28
       0x04, 0x06, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_HeaderByteCount" },
+      {0, 0}, false, "PartitionMetadata_HeaderByteCount" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 29
       0x04, 0x06, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_IndexByteCount" },
+      {0, 0}, false, "PartitionMetadata_IndexByteCount" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 30
       0x01, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_IndexSID" },
+      {0, 0}, false, "PartitionMetadata_IndexSID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 31
       0x06, 0x08, 0x01, 0x02, 0x01, 0x03, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_BodyOffset" },
+      {0, 0}, false, "PartitionMetadata_BodyOffset" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 32
       0x01, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_BodySID" },
+      {0, 0}, false, "PartitionMetadata_BodySID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 33
       0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_OperationalPattern" },
+      {0, 0}, false, "PartitionMetadata_OperationalPattern" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 34
       0x01, 0x02, 0x02, 0x10, 0x02, 0x01, 0x00, 0x00 },
-      {0}, false, "PartitionMetadata_EssenceContainers" },
+      {0, 0}, false, "PartitionMetadata_EssenceContainers" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 35
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x00 },
-      {0}, false, "OpenHeader" },
+      {0, 0}, false, "OpenHeader" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 36
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x02, 0x03, 0x00 },
-      {0}, false, "OpenCompleteHeader" },
+      {0, 0}, false, "OpenCompleteHeader" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 37
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x02, 0x02, 0x00 },
-      {0}, false, "ClosedHeader" },
+      {0, 0}, false, "ClosedHeader" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 38
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x02, 0x04, 0x00 },
-      {0}, false, "ClosedCompleteHeader" },
+      {0, 0}, false, "ClosedCompleteHeader" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 39
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x03, 0x01, 0x00 },
-      {0}, false, "OpenBodyPartition" },
+      {0, 0}, false, "OpenBodyPartition" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 40
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x03, 0x03, 0x00 },
-      {0}, false, "OpenCompleteBodyPartition" },
+      {0, 0}, false, "OpenCompleteBodyPartition" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 41
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x03, 0x02, 0x00 },
-      {0}, false, "ClosedBodyPartition" },
+      {0, 0}, false, "ClosedBodyPartition" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 42
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x03, 0x04, 0x00 },
-      {0}, false, "ClosedCompleteBodyPartition" },
+      {0, 0}, false, "ClosedCompleteBodyPartition" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 43
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x04, 0x02, 0x00 },
-      {0}, false, "Footer" },
+      {0, 0}, false, "Footer" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 44
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x04, 0x04, 0x00 },
-      {0}, false, "CompleteFooter" },
+      {0, 0}, false, "CompleteFooter" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 45
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x05, 0x01, 0x00 },
-      {0}, false, "Primer" },
+      {0, 0}, false, "Primer" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 46
       0x06, 0x01, 0x01, 0x07, 0x15, 0x00, 0x00, 0x00 },
-      {0}, false, "Primer_LocalTagEntryBatch" },
+      {0, 0}, false, "Primer_LocalTagEntryBatch" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 47
       0x01, 0x03, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "LocalTagEntryBatch_Primer_LocalTag" },
+      {0, 0}, false, "LocalTagEntryBatch_Primer_LocalTag" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 48
       0x01, 0x03, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "LocalTagEntryBatch_Primer_UID" },
+      {0, 0}, false, "LocalTagEntryBatch_Primer_UID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x01, // 49
       0x01, 0x01, 0x15, 0x02, 0x00, 0x00, 0x00, 0x00 },
       {0x3c, 0x0a}, false, "InterchangeObject_InstanceUID" },
@@ -190,7 +190,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x01, 0x02}, true, "GenerationInterchangeObject_GenerationUID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 51
       0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "DefaultObject" },
+      {0, 0}, false, "DefaultObject" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 52
       0x05, 0x30, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00 },
       {0x3f, 0x0b}, false, "IndexTableSegmentBase_IndexEditRate" },
@@ -217,58 +217,58 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x3f, 0x0e}, true, "IndexTableSegmentBase_PosTableCount" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 60
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x10, 0x01, 0x00 },
-      {0}, false, "IndexTableSegment" },
+      {0, 0}, false, "IndexTableSegment" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 61
       0x04, 0x04, 0x04, 0x01, 0x06, 0x00, 0x00, 0x00 },
       {0x3f, 0x09}, true, "IndexTableSegment_DeltaEntryArray" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 62
       0x04, 0x04, 0x04, 0x01, 0x04, 0x00, 0x00, 0x00 },
-      {0}, false, "DeltaEntryArray_IndexTableSegment_PosTableIndex" },
+      {0, 0}, false, "DeltaEntryArray_IndexTableSegment_PosTableIndex" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 63
       0x04, 0x04, 0x04, 0x01, 0x02, 0x00, 0x00, 0x00 },
-      {0}, false, "DeltaEntryArray_IndexTableSegment_Slice" },
+      {0, 0}, false, "DeltaEntryArray_IndexTableSegment_Slice" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 64
       0x04, 0x04, 0x04, 0x01, 0x03, 0x00, 0x00, 0x00 },
-      {0}, false, "DeltaEntryArray_IndexTableSegment_ElementDelta" },
+      {0, 0}, false, "DeltaEntryArray_IndexTableSegment_ElementDelta" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 65
       0x04, 0x04, 0x04, 0x02, 0x05, 0x00, 0x00, 0x00 },
       {0x3f, 0x0a}, false, "IndexTableSegment_IndexEntryArray" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 66
       0x04, 0x04, 0x04, 0x02, 0x03, 0x00, 0x00, 0x00 },
-      {0}, false, "IndexEntryArray_IndexTableSegment_TemporalOffset" },
+      {0, 0}, false, "IndexEntryArray_IndexTableSegment_TemporalOffset" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 67
       0x04, 0x04, 0x04, 0x02, 0x04, 0x00, 0x00, 0x00 },
-      {0}, false, "IndexEntryArray_IndexTableSegment_AnchorOffset" },
+      {0, 0}, false, "IndexEntryArray_IndexTableSegment_AnchorOffset" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 68
       0x04, 0x04, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00 },
-      {0}, false, "IndexEntryArray_IndexTableSegment_Flags" },
+      {0, 0}, false, "IndexEntryArray_IndexTableSegment_Flags" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 69
       0x04, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "IndexEntryArray_IndexTableSegment_StreamOffset" },
+      {0, 0}, false, "IndexEntryArray_IndexTableSegment_StreamOffset" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 70
       0x04, 0x04, 0x04, 0x01, 0x05, 0x00, 0x00, 0x00 },
-      {0}, false, "IndexEntryArray_IndexTableSegment_SliceOffsetArray" },
+      {0, 0}, false, "IndexEntryArray_IndexTableSegment_SliceOffsetArray" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 71
       0x04, 0x04, 0x04, 0x01, 0x08, 0x00, 0x00, 0x00 },
-      {0}, false, "IndexEntryArray_IndexTableSegment_PosTableArray" },
+      {0, 0}, false, "IndexEntryArray_IndexTableSegment_PosTableArray" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 72
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x11, 0x01, 0x00 },
-      {0}, false, "RandomIndexMetadata" },
+      {0, 0}, false, "RandomIndexMetadata" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 73
       0x01, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionArray_RandomIndexMetadata_BodySID" },
+      {0, 0}, false, "PartitionArray_RandomIndexMetadata_BodySID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 74
       0x06, 0x09, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "PartitionArray_RandomIndexMetadata_ByteOffset" },
+      {0, 0}, false, "PartitionArray_RandomIndexMetadata_ByteOffset" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 75
       0x04, 0x06, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "RandomIndexMetadata_Length" },
+      {0, 0}, false, "RandomIndexMetadata_Length" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 76
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x11, 0x00, 0x00 },
-      {0}, false, "RandomIndexMetadataV10" },
+      {0, 0}, false, "RandomIndexMetadataV10" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 77
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2f, 0x00 },
-      {0}, false, "Preface" },
+      {0, 0}, false, "Preface" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 78
       0x07, 0x02, 0x01, 0x10, 0x02, 0x04, 0x00, 0x00 },
       {0x3b, 0x02}, false, "Preface_LastModifiedDate" },
@@ -298,7 +298,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x3b, 0x0b}, false, "Preface_DMSchemes" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 87
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x30, 0x00 },
-      {0}, false, "Identification" },
+      {0, 0}, false, "Identification" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 88
       0x05, 0x20, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00 },
       {0x3c, 0x09}, false, "Identification_ThisGenerationUID" },
@@ -328,7 +328,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x3c, 0x08}, true, "Identification_Platform" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 97
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18, 0x00 },
-      {0}, false, "ContentStorage" },
+      {0, 0}, false, "ContentStorage" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 98
       0x06, 0x01, 0x01, 0x04, 0x05, 0x01, 0x00, 0x00 },
       {0x19, 0x01}, false, "ContentStorage_Packages" },
@@ -340,7 +340,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x19, 0x01}, false, "ContentStorageKludge_V10Packages" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 101
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x23, 0x00 },
-      {0}, false, "EssenceContainerData" },
+      {0, 0}, false, "EssenceContainerData" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 102
       0x06, 0x01, 0x01, 0x06, 0x01, 0x00, 0x00, 0x00 },
       {0x27, 0x01}, false, "EssenceContainerData_LinkedPackageUID" },
@@ -367,13 +367,13 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x44, 0x03}, false, "GenericPackage_Tracks" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 110
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x32, 0x00 },
-      {0}, false, "NetworkLocator" },
+      {0, 0}, false, "NetworkLocator" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x01, // 111
       0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 },
       {0x40, 0x01}, false, "NetworkLocator_URLString" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 112
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x33, 0x00 },
-      {0}, false, "TextLocator" },
+      {0, 0}, false, "TextLocator" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 113
       0x01, 0x04, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00 },
       {0x41, 0x01}, false, "TextLocator_LocatorName" },
@@ -391,10 +391,10 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x48, 0x03}, false, "GenericTrack_Sequence" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 118
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x3a, 0x00 },
-      {0}, false, "StaticTrack" },
+      {0, 0}, false, "StaticTrack" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 119
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x3b, 0x00 },
-      {0}, false, "Track" },
+      {0, 0}, false, "Track" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 120
       0x05, 0x30, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00 },
       {0x4b, 0x01}, false, "Track_EditRate" },
@@ -403,7 +403,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x4b, 0x02}, false, "Track_Origin" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 122
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x39, 0x00 },
-      {0}, false, "EventTrack" },
+      {0, 0}, false, "EventTrack" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 123
       0x05, 0x30, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00 },
       {0x49, 0x01}, false, "EventTrack_EventEditRate" },
@@ -418,13 +418,13 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x02, 0x02}, false, "StructuralComponent_Duration" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 127
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0f, 0x00 },
-      {0}, false, "Sequence" },
+      {0, 0}, false, "Sequence" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 128
       0x06, 0x01, 0x01, 0x04, 0x06, 0x09, 0x00, 0x00 },
       {0x10, 0x01}, false, "Sequence_StructuralComponents" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 129
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x14, 0x00 },
-      {0}, false, "TimecodeComponent" },
+      {0, 0}, false, "TimecodeComponent" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 130
       0x04, 0x04, 0x01, 0x01, 0x02, 0x06, 0x00, 0x00 },
       {0x15, 0x02}, false, "TimecodeComponent_RoundedTimecodeBase" },
@@ -436,7 +436,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x15, 0x03}, false, "TimecodeComponent_DropFrame" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 133
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x11, 0x00 },
-      {0}, false, "SourceClip" },
+      {0, 0}, false, "SourceClip" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 134
       0x07, 0x02, 0x01, 0x03, 0x01, 0x04, 0x00, 0x00 },
       {0x12, 0x01}, false, "SourceClip_StartPosition" },
@@ -448,7 +448,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x11, 0x02}, false, "SourceClip_SourceTrackID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 137
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x41, 0x00 },
-      {0}, false, "DMSegment" },
+      {0, 0}, false, "DMSegment" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 138
       0x07, 0x02, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00 },
       {0x06, 0x01}, false, "DMSegment_EventStartPosition" },
@@ -463,16 +463,16 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x61, 0x01}, false, "DMSegment_DMFramework" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 142
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x45, 0x00 },
-      {0}, false, "DMSourceClip" },
+      {0, 0}, false, "DMSourceClip" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 143
       0x01, 0x07, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00 },
       {0x61, 0x03}, true, "DMSourceClip_DMSourceClipTrackIDs" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 144
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x36, 0x00 },
-      {0}, false, "MaterialPackage" },
+      {0, 0}, false, "MaterialPackage" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 145
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x37, 0x00 },
-      {0}, false, "SourcePackage" },
+      {0, 0}, false, "SourcePackage" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 146
       0x06, 0x01, 0x01, 0x04, 0x02, 0x03, 0x00, 0x00 },
       {0x47, 0x01}, false, "SourcePackage_Descriptor" },
@@ -481,10 +481,10 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x2f, 0x01}, true, "GenericDescriptor_Locators" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x09, // 148
       0x06, 0x01, 0x01, 0x04, 0x06, 0x10, 0x00, 0x00 },
-      {0}, true, "GenericDescriptor_SubDescriptors" },
+      {0, 0}, true, "GenericDescriptor_SubDescriptors" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 149
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x25, 0x00 },
-      {0}, false, "FileDescriptor" },
+      {0, 0}, false, "FileDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 150
       0x06, 0x01, 0x01, 0x03, 0x05, 0x00, 0x00, 0x00 },
       {0x30, 0x06}, true, "FileDescriptor_LinkedTrackID" },
@@ -502,7 +502,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x30, 0x05}, true, "FileDescriptor_Codec" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 155
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x27, 0x00 },
-      {0}, false, "GenericPictureEssenceDescriptor" },
+      {0, 0}, false, "GenericPictureEssenceDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 156
       0x04, 0x05, 0x01, 0x13, 0x00, 0x00, 0x00, 0x00 },
       {0x32, 0x15}, true, "GenericPictureEssenceDescriptor_SignalStandard" },
@@ -577,7 +577,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x32, 0x01}, false, "GenericPictureEssenceDescriptor_PictureEssenceCoding" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 180
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x28, 0x00 },
-      {0}, false, "CDCIEssenceDescriptor" },
+      {0, 0}, false, "CDCIEssenceDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 181
       0x04, 0x01, 0x05, 0x03, 0x0a, 0x00, 0x00, 0x00 },
       {0x33, 0x01}, false, "CDCIEssenceDescriptor_ComponentDepth" },
@@ -610,7 +610,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x33, 0x06}, true, "CDCIEssenceDescriptor_ColorRange" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 191
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x29, 0x00 },
-      {0}, false, "RGBAEssenceDescriptor" },
+      {0, 0}, false, "RGBAEssenceDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 192
       0x04, 0x01, 0x05, 0x03, 0x0b, 0x00, 0x00, 0x00 },
       {0x34, 0x06}, true, "RGBAEssenceDescriptor_ComponentMaxRef" },
@@ -637,7 +637,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x34, 0x04}, true, "RGBAEssenceDescriptor_PaletteLayout" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 200
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x42, 0x00 },
-      {0}, false, "GenericSoundEssenceDescriptor" },
+      {0, 0}, false, "GenericSoundEssenceDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 201
       0x04, 0x02, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00 },
       {0x3d, 0x03}, false, "GenericSoundEssenceDescriptor_AudioSamplingRate" },
@@ -664,52 +664,52 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x3d, 0x06}, false, "GenericSoundEssenceDescriptor_SoundEssenceCompression" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 209
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x43, 0x00 },
-      {0}, false, "GenericDataEssenceDescriptor" },
+      {0, 0}, false, "GenericDataEssenceDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 210
       0x04, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 },
       {0x3e, 0x01}, false, "GenericDataEssenceDescriptor_DataEssenceCoding" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 211
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x44, 0x00 },
-      {0}, false, "MultipleDescriptor" },
+      {0, 0}, false, "MultipleDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 212
       0x06, 0x01, 0x01, 0x04, 0x06, 0x0b, 0x00, 0x00 },
       {0x3f, 0x01}, false, "MultipleDescriptor_SubDescriptorUIDs" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 213
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x51, 0x00 },
-      {0}, false, "MPEG2VideoDescriptor" },
+      {0, 0}, false, "MPEG2VideoDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 214
       0x04, 0x01, 0x06, 0x02, 0x01, 0x02, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_SingleSequence" },
+      {0, 0}, true, "MPEG2VideoDescriptor_SingleSequence" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 215
       0x04, 0x01, 0x06, 0x02, 0x01, 0x03, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_ConstantBFrames" },
+      {0, 0}, true, "MPEG2VideoDescriptor_ConstantBFrames" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 216
       0x04, 0x01, 0x06, 0x02, 0x01, 0x04, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_CodedContentType" },
+      {0, 0}, true, "MPEG2VideoDescriptor_CodedContentType" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 217
       0x04, 0x01, 0x06, 0x02, 0x01, 0x05, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_LowDelay" },
+      {0, 0}, true, "MPEG2VideoDescriptor_LowDelay" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 218
       0x04, 0x01, 0x06, 0x02, 0x01, 0x06, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_ClosedGOP" },
+      {0, 0}, true, "MPEG2VideoDescriptor_ClosedGOP" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 219
       0x04, 0x01, 0x06, 0x02, 0x01, 0x07, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_IdenticalGOP" },
+      {0, 0}, true, "MPEG2VideoDescriptor_IdenticalGOP" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 220
       0x04, 0x01, 0x06, 0x02, 0x01, 0x08, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_MaxGOP" },
+      {0, 0}, true, "MPEG2VideoDescriptor_MaxGOP" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 221
       0x04, 0x01, 0x06, 0x02, 0x01, 0x09, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_BPictureCount" },
+      {0, 0}, true, "MPEG2VideoDescriptor_BPictureCount" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 222
       0x04, 0x01, 0x06, 0x02, 0x01, 0x0b, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_BitRate" },
+      {0, 0}, true, "MPEG2VideoDescriptor_BitRate" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 223
       0x04, 0x01, 0x06, 0x02, 0x01, 0x0a, 0x00, 0x00 },
-      {0}, true, "MPEG2VideoDescriptor_ProfileAndLevel" },
+      {0, 0}, true, "MPEG2VideoDescriptor_ProfileAndLevel" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 224
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x48, 0x00 },
-      {0}, false, "WaveAudioDescriptor" },
+      {0, 0}, false, "WaveAudioDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 225
       0x04, 0x02, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00 },
       {0x3d, 0x0a}, false, "WaveAudioDescriptor_BlockAlign" },
@@ -724,115 +724,115 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x3d, 0x0e}, true, "WaveAudioDescriptor_PeakEnvelope" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 229
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x5a, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 230
       0x04, 0x01, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_Rsize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_Rsize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 231
       0x04, 0x01, 0x06, 0x03, 0x02, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_Xsize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_Xsize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 232
       0x04, 0x01, 0x06, 0x03, 0x03, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_Ysize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_Ysize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 233
       0x04, 0x01, 0x06, 0x03, 0x04, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_XOsize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_XOsize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 234
       0x04, 0x01, 0x06, 0x03, 0x05, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_YOsize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_YOsize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 235
       0x04, 0x01, 0x06, 0x03, 0x06, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_XTsize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_XTsize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 236
       0x04, 0x01, 0x06, 0x03, 0x07, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_YTsize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_YTsize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 237
       0x04, 0x01, 0x06, 0x03, 0x08, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_XTOsize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_XTOsize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 238
       0x04, 0x01, 0x06, 0x03, 0x09, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_YTOsize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_YTOsize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 239
       0x04, 0x01, 0x06, 0x03, 0x0a, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_Csize" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_Csize" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 240
       0x04, 0x01, 0x06, 0x03, 0x0b, 0x00, 0x00, 0x00 },
-      {0}, false, "JPEG2000PictureSubDescriptor_PictureComponentSizing" },
+      {0, 0}, false, "JPEG2000PictureSubDescriptor_PictureComponentSizing" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 241
       0x04, 0x01, 0x06, 0x03, 0x0c, 0x00, 0x00, 0x00 },
-      {0}, true, "JPEG2000PictureSubDescriptor_CodingStyleDefault" },
+      {0, 0}, true, "JPEG2000PictureSubDescriptor_CodingStyleDefault" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0a, // 242
       0x04, 0x01, 0x06, 0x03, 0x0d, 0x00, 0x00, 0x00 },
-      {0}, true, "JPEG2000PictureSubDescriptor_QuantizationDefault" },
+      {0, 0}, true, "JPEG2000PictureSubDescriptor_QuantizationDefault" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 243
       0x0d, 0x01, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "DM_Framework" },
+      {0, 0}, false, "DM_Framework" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 244
       0x0d, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "DM_Set" },
+      {0, 0}, false, "DM_Set" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x07, // 245
       0x0d, 0x01, 0x03, 0x01, 0x02, 0x0b, 0x01, 0x00 },
-      {0}, false, "EncryptedContainerLabel" },
+      {0, 0}, false, "EncryptedContainerLabel" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x07, // 246
       0x0d, 0x01, 0x04, 0x01, 0x02, 0x01, 0x01, 0x00 },
-      {0}, false, "CryptographicFrameworkLabel" },
+      {0, 0}, false, "CryptographicFrameworkLabel" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 247
       0x0d, 0x01, 0x04, 0x01, 0x02, 0x01, 0x00, 0x00 },
-      {0}, false, "CryptographicFramework" },
+      {0, 0}, false, "CryptographicFramework" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x09, // 248
       0x06, 0x01, 0x01, 0x04, 0x02, 0x0d, 0x00, 0x00 },
-      {0}, false, "CryptographicFramework_ContextSR" },
+      {0, 0}, false, "CryptographicFramework_ContextSR" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 249
       0x0d, 0x01, 0x04, 0x01, 0x02, 0x02, 0x00, 0x00 },
-      {0}, false, "CryptographicContext" },
+      {0, 0}, false, "CryptographicContext" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x09, // 250
       0x01, 0x01, 0x15, 0x11, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "CryptographicContext_ContextID" },
+      {0, 0}, false, "CryptographicContext_ContextID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x09, // 251
       0x06, 0x01, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00 },
-      {0}, false, "CryptographicContext_SourceEssenceContainer" },
+      {0, 0}, false, "CryptographicContext_SourceEssenceContainer" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x09, // 252
       0x02, 0x09, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "CryptographicContext_CipherAlgorithm" },
+      {0, 0}, false, "CryptographicContext_CipherAlgorithm" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x09, // 253
       0x02, 0x09, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "CryptographicContext_MICAlgorithm" },
+      {0, 0}, false, "CryptographicContext_MICAlgorithm" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x09, // 254
       0x02, 0x09, 0x03, 0x01, 0x02, 0x00, 0x00, 0x00 },
-      {0}, false, "CryptographicContext_CryptographicKeyID" },
+      {0, 0}, false, "CryptographicContext_CryptographicKeyID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0a, // 255
       0x0d, 0x01, 0x03, 0x01, 0x02, 0x13, 0x01, 0x01 },
-      {0}, false, "TimedTextWrapping" },
+      {0, 0}, false, "TimedTextWrapping" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x01, // 256
       0x0d, 0x01, 0x03, 0x01, 0x17, 0x01, 0x0b, 0x01 },
-      {0}, false, "TimedTextEssence" },
+      {0, 0}, false, "TimedTextEssence" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 257
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x64, 0x00 },
-      {0}, false, "TimedTextDescriptor" },
+      {0, 0}, false, "TimedTextDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 258
       0x01, 0x01, 0x15, 0x12, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "TimedTextDescriptor_ResourceID" },
+      {0, 0}, false, "TimedTextDescriptor_ResourceID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 259
       0x04, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "TimedTextDescriptor_UCSEncoding" },
+      {0, 0}, false, "TimedTextDescriptor_UCSEncoding" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x08, // 260
       0x01, 0x02, 0x01, 0x05, 0x01, 0x00, 0x00, 0x00 },
-      {0}, false, "TimedTextDescriptor_NamespaceURI" },
+      {0, 0}, false, "TimedTextDescriptor_NamespaceURI" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 261
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x65, 0x00 },
-      {0}, false, "TimedTextResourceSubDescriptor" },
+      {0, 0}, false, "TimedTextResourceSubDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 262
       0x01, 0x01, 0x15, 0x13, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "TimedTextResourceSubDescriptor_AncillaryResourceID" },
+      {0, 0}, false, "TimedTextResourceSubDescriptor_AncillaryResourceID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x07, // 263
       0x04, 0x09, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "TimedTextResourceSubDescriptor_MIMEMediaType" },
+      {0, 0}, false, "TimedTextResourceSubDescriptor_MIMEMediaType" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 264
       0x01, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00 },
-      {0}, false, "TimedTextResourceSubDescriptor_EssenceStreamID" },
+      {0, 0}, false, "TimedTextResourceSubDescriptor_EssenceStreamID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 265
       0x0d, 0x01, 0x02, 0x01, 0x01, 0x03, 0x11, 0x00 },
-      {0}, false, "GenericStreamPartition" },
+      {0, 0}, false, "GenericStreamPartition" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 266
       0x04, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
     {0x02, 0x01}, false, "DMSegment_DataDefinition" },
@@ -844,7 +844,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
     {0x61, 0x02}, false, "DMSegment_TrackIDList" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x0c, // 269
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x63, 0x00 },
-    {0}, false, "StereoscopicPictureSubDescriptor" },
+    {0, 0}, false, "StereoscopicPictureSubDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x07, // 270
       0x04, 0x02, 0x01, 0x01, 0x05, 0x00, 0x00, 0x00 },
     {0x3d, 0x32}, true, "WaveAudioDescriptor_ChannelAssignment" },
@@ -853,7 +853,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
     {0x00, 0x00}, false, "GenericStream_DataElement" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 272
       0x06, 0x01, 0x01, 0x04, 0x06, 0x10, 0x00, 0x00 },
-      {0}, true, "MXFInterop_GenericDescriptor_SubDescriptors" },
+      {0, 0}, true, "MXFInterop_GenericDescriptor_SubDescriptors" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 273
       0x01, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00 },
       {0x3f, 0x07}, false, "BodySID" },
@@ -868,56 +868,56 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x3b, 0x0a}, false, "EssenceContainers" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 277
       0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x01, 0x00 },
-    {0}, false, "DCAudioChannelCfg_1_5p1" },
+    {0, 0}, false, "DCAudioChannelCfg_1_5p1" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 278
       0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x02, 0x00 },
-    {0}, false, "DCAudioChannelCfg_2_6p1" },
+    {0, 0}, false, "DCAudioChannelCfg_2_6p1" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 279
       0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x03, 0x00 },
-    {0}, false, "DCAudioChannelCfg_3_7p1" },
+    {0, 0}, false, "DCAudioChannelCfg_3_7p1" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 280
       0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x04, 0x00 },
-    {0}, false, "DCAudioChannelCfg_4_WTF" },
+    {0, 0}, false, "DCAudioChannelCfg_4_WTF" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 281
       0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x05, 0x00 },
-    {0}, false, "DCAudioChannelCfg_5_7p1_DS" },
+    {0, 0}, false, "DCAudioChannelCfg_5_7p1_DS" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 282
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x6a, 0x00 },
-    {0}, false, "MCALabelSubDescriptor" },
+    {0, 0}, false, "MCALabelSubDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 283
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x6b, 0x00 },
-    {0}, false, "AudioChannelLabelSubDescriptor" },
+    {0, 0}, false, "AudioChannelLabelSubDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 284
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x6c, 0x00 },
-    {0}, false, "SoundfieldGroupLabelSubDescriptor" },
+    {0, 0}, false, "SoundfieldGroupLabelSubDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 285
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x6d, 0x00 },
-    {0}, false, "GroupOfSoundfieldGroupsLabelSubDescriptor" },
+    {0, 0}, false, "GroupOfSoundfieldGroupsLabelSubDescriptor" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 286
       0x01, 0x03, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00 },
-    {0}, false, "MCALabelSubDescriptor_MCALabelDictionaryID" },
+    {0, 0}, false, "MCALabelSubDescriptor_MCALabelDictionaryID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 287
       0x01, 0x03, 0x07, 0x01, 0x05, 0x00, 0x00, 0x00 },
-    {0}, false, "MCALabelSubDescriptor_MCALinkID" },
+    {0, 0}, false, "MCALabelSubDescriptor_MCALinkID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 288
       0x01, 0x03, 0x07, 0x01, 0x02, 0x00, 0x00, 0x00 },
-    {0}, false, "MCALabelSubDescriptor_MCATagSymbol" },
+    {0, 0}, false, "MCALabelSubDescriptor_MCATagSymbol" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 289
       0x01, 0x03, 0x07, 0x01, 0x03, 0x00, 0x00, 0x00 },
-    {0}, false, "MCALabelSubDescriptor_MCATagName" },
+    {0, 0}, false, "MCALabelSubDescriptor_MCATagName" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 290
       0x01, 0x03, 0x04, 0x0a, 0x00, 0x00, 0x00, 0x00 },
-    {0}, false, "MCALabelSubDescriptor_MCAChannelID" },
+    {0, 0}, false, "MCALabelSubDescriptor_MCAChannelID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 291
       0x03, 0x01, 0x01, 0x02, 0x03, 0x15, 0x00, 0x00 },
-    {0}, false, "MCALabelSubDescriptor_RFC5646SpokenLanguage" },
+    {0, 0}, false, "MCALabelSubDescriptor_RFC5646SpokenLanguage" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 292
       0x01, 0x03, 0x07, 0x01, 0x03, 0x00, 0x00, 0x00 },
-    {0}, false, "AudioChannelLabelSubDescriptor_SoundfieldGroupLinkID" },
+    {0, 0}, false, "AudioChannelLabelSubDescriptor_SoundfieldGroupLinkID" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 293
       0x01, 0x03, 0x07, 0x01, 0x04, 0x00, 0x00, 0x00 },
-    {0}, false, "SoundfieldGroupLabelSubDescriptor_GroupOfSoundfieldGroupsLinkID" },
-  { {0}, {0}, false, 0 }
+    {0, 0}, false, "SoundfieldGroupLabelSubDescriptor_GroupOfSoundfieldGroupsLinkID" },
+  { {0, 0}, {0, 0}, false, 0 }
 };
 
 //
index bac5f7e5c618ad698628671cf121cb2773d6e631..3b81f5a9932b678eb383e6c763c454bf7d16a98c 100755 (executable)
@@ -94,6 +94,12 @@ class h__ParserState
        case ST_EXT:
          m_State = ST_SEQ;
          return RESULT_OK;
+       case ST_SEQ:
+       case ST_PIC:
+       case ST_GOP:
+       case ST_SLICE:
+         /* Keep gcc quiet */
+         break;
        }
       
       DefaultLogSink().Error("SEQ follows %s\n", StringParserState(m_State));
@@ -110,6 +116,12 @@ class h__ParserState
        case ST_EXT:
          m_State = ST_SLICE;
          return RESULT_OK;
+       case ST_INIT:
+       case ST_SEQ:
+       case ST_GOP:
+       case ST_SLICE:
+         /* Keep gcc quiet */
+         break;
        }
       
       DefaultLogSink().Error("Slice follows %s\n", StringParserState(m_State));
@@ -128,6 +140,10 @@ class h__ParserState
        case ST_EXT:
          m_State = ST_PIC;
          return RESULT_OK;
+       case ST_PIC:
+       case ST_SLICE:
+         /* Keep gcc quiet */
+         break;
        }
       
       DefaultLogSink().Error("PIC follows %s\n", StringParserState(m_State));
@@ -144,6 +160,12 @@ class h__ParserState
       case ST_SEQ:
        m_State = ST_GOP;
        return RESULT_OK;
+      case ST_INIT:
+      case ST_PIC:
+      case ST_GOP:
+      case ST_SLICE:
+       /* Keep gcc quiet */
+       break;
       }
     
     DefaultLogSink().Error("GOP follows %s\n", StringParserState(m_State));
@@ -161,6 +183,10 @@ class h__ParserState
        case ST_GOP:
          m_State = ST_EXT;
          return RESULT_OK;
+      case ST_INIT:
+      case ST_SLICE:
+         /* Keep gcc quiet */
+         break;
       }
 
     DefaultLogSink().Error("EXT follows %s\n", StringParserState(m_State));
@@ -192,7 +218,7 @@ public:
   ~StreamParams() {}
 
   //
-  Result_t Sequence(VESParser*, const byte_t* b, ui32_t s)
+  Result_t Sequence(VESParser*, const byte_t* b, ui32_t)
   {
     Result_t result = m_State.Goto_SEQ();
 
@@ -211,7 +237,7 @@ public:
   }
 
   //
-  Result_t Extension(VESParser*, const byte_t* b, ui32_t s)
+  Result_t Extension(VESParser*, const byte_t* b, ui32_t)
   {
     Result_t result = m_State.Goto_EXT();
 
@@ -286,7 +312,7 @@ public:
     m_State.Reset();
  }
 
-  Result_t Sequence(VESParser*, const byte_t* b, ui32_t s)
+  Result_t Sequence(VESParser*, const byte_t*, ui32_t s)
   {
     if ( m_State.Test_SLICE() )
       {
@@ -324,7 +350,7 @@ public:
     return m_State.Test_SLICE() ? RESULT_OK : RESULT_FAIL;
   }
 
-  Result_t Extension(VESParser*, const byte_t* b, ui32_t s)
+  Result_t Extension(VESParser*, const byte_t*, ui32_t s)
   {
     m_FrameSize += s;
     return m_State.Goto_EXT();
@@ -339,7 +365,7 @@ public:
     return m_State.Goto_GOP();
   }
 
-  Result_t Data(VESParser*, const byte_t* b, i32_t s)
+  Result_t Data(VESParser*, const byte_t*, i32_t s)
   {
     m_FrameSize += s;
     return RESULT_OK;
index c7091a43d752226d22ac82ba8125ab82b581bc51..c35c1d20e26272133dac8d49bb1fcb1e88bf997a 100755 (executable)
@@ -1018,8 +1018,8 @@ ASDCP::MXF::OPAtomHeader::Dump(FILE* stream)
 //
 
 ASDCP::MXF::OPAtomIndexFooter::OPAtomIndexFooter(const Dictionary*& d) :
-  Partition(d), m_Dict(d),
-  m_CurrentSegment(0), m_BytesPerEditUnit(0), m_BodySID(0),
+  Partition(d),
+  m_CurrentSegment(0), m_BytesPerEditUnit(0), m_BodySID(0), m_Dict(d),
   m_ECOffset(0), m_Lookup(0)
 {
   BodySID = 0;
index e4c9c27fd476c4879a56b9ed867532ee0fc3d7a9..bdf4e4c4873ae76a8a5516d51ebe06411cebafd2 100755 (executable)
@@ -162,7 +162,7 @@ namespace ASDCP
          }
 
          //
-         void Dump(FILE* stream = 0, ui32_t depth = 0)
+         void Dump(FILE* stream = 0, ui32_t = 0)
            {
              char identbuf[IdentBufferLen];
 
@@ -223,7 +223,7 @@ namespace ASDCP
          }
 
          //
-         void Dump(FILE* stream = 0, ui32_t depth = 0)
+           void Dump(FILE* stream = 0, ui32_t = 0)
            {
              char identbuf[IdentBufferLen];
 
@@ -381,7 +381,7 @@ namespace ASDCP
        {
        public:
          Raw();
-         Raw(const Raw& rhs) { Copy(rhs); }
+               Raw(const Raw& rhs) : Kumu::ByteString () { Copy(rhs); }
          virtual ~Raw();
 
          const Raw& operator=(const Raw& rhs) { Copy(rhs); return *this; }
index 2f9bb19bff84a7b552272466c939c5dc42149cf5..ebf344348a14234600b3238693a2fc2f9d3a907e 100755 (executable)
@@ -61,7 +61,7 @@ ASDCP::default_md_object_init()
 
 //
 ASDCP::h__Reader::h__Reader(const Dictionary& d) :
-  m_HeaderPart(m_Dict), m_BodyPart(m_Dict), m_FooterPart(m_Dict), m_Dict(&d), m_EssenceStart(0)
+  m_Dict(&d), m_HeaderPart(m_Dict), m_BodyPart(m_Dict), m_FooterPart(m_Dict), m_EssenceStart(0)
 {
   default_md_object_init();
 }
index 0372af33bc42217c92b625c9c454b13369382ae5..5d3a1d5ab6a8a393ea0a1fbc55c14d55269fcafc 100755 (executable)
@@ -69,8 +69,8 @@ version_split(const char* str)
 
 //
 ASDCP::h__Writer::h__Writer(const Dictionary& d) :
-  m_HeaderPart(m_Dict), m_BodyPart(m_Dict), m_FooterPart(m_Dict), m_Dict(&d),
-  m_HeaderSize(0), m_EssenceStart(0),
+  m_Dict(&d), m_HeaderSize(0), m_HeaderPart(m_Dict),
+  m_BodyPart(m_Dict), m_FooterPart(m_Dict), m_EssenceStart(0),
   m_EssenceDescriptor(0), m_FramesWritten(0), m_StreamOffset(0)
 {
   default_md_object_init();
diff --git a/wscript b/wscript
index 0e407295f355d85f34f357a5669bb6097eb3f9df..5473e9e96821e0fc46701f0ad89a91a11632ebe9 100644 (file)
--- a/wscript
+++ b/wscript
@@ -6,7 +6,7 @@ def options(opt):
 
 def configure(conf):
     conf.load('compiler_cxx')
-    conf.env.append_value('CXXFLAGS', ['-Wall', '-Wextra', '-O2', '-D_FILE_OFFSET_BITS=64'])
+    conf.env.append_value('CXXFLAGS', ['-Wall', '-Werror', '-Wextra', '-O2', '-D_FILE_OFFSET_BITS=64'])
     conf.env.append_value('CXXFLAGS', ['-DLIBDCP_VERSION="%s"' % VERSION])
 
     conf.check_cfg(package = 'openssl', args = '--cflags --libs', uselib_store = 'OPENSSL', mandatory = True)