fixed to implement an array rather than a scalar of ui16_t
authorjhurst <jhurst@cinecert.com>
Thu, 28 Nov 2019 18:15:10 +0000 (10:15 -0800)
committerjhurst <jhurst@cinecert.com>
Thu, 28 Nov 2019 18:15:10 +0000 (10:15 -0800)
src/Metadata.cpp
src/Metadata.h

index d81b70a29464c371a9302e32413049aa9041ad1d..8e1c3a760838e7b5397cd1d02f9457d0d6881de0 100755 (executable)
@@ -2129,8 +2129,8 @@ JPEG2000PictureSubDescriptor::InitFromTLVSet(TLVReader& TLVSet)
     result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KExtendedCapabilities));
     J2KExtendedCapabilities.set_has_value( result == RESULT_OK );
   }
-  if ( ASDCP_SUCCESS(result) ) { 
-    result = TLVSet.ReadUi16(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KProfile));
+  if ( ASDCP_SUCCESS(result) ) {
+    result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KProfile));
     J2KProfile.set_has_value( result == RESULT_OK );
   }
   if ( ASDCP_SUCCESS(result) ) { 
@@ -2161,7 +2161,7 @@ JPEG2000PictureSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet)
   if ( ASDCP_SUCCESS(result)  && ! QuantizationDefault.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, QuantizationDefault));
   if ( ASDCP_SUCCESS(result)  && ! J2CLayout.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2CLayout));
   if ( ASDCP_SUCCESS(result)  && ! J2KExtendedCapabilities.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KExtendedCapabilities));
-  if ( ASDCP_SUCCESS(result)  && ! J2KProfile.empty() ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KProfile));
+  if ( ASDCP_SUCCESS(result)  && ! J2KProfile.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KProfile));
   if ( ASDCP_SUCCESS(result)  && ! J2KCorrespondingProfile.empty() ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KCorrespondingProfile));
   return result;
 }
@@ -2227,7 +2227,8 @@ JPEG2000PictureSubDescriptor::Dump(FILE* stream)
     fprintf(stream, "  %22s = %s\n",  "J2KExtendedCapabilities", J2KExtendedCapabilities.get().EncodeString(identbuf, IdentBufferLen));
   }
   if ( ! J2KProfile.empty() ) {
-    fprintf(stream, "  %22s = %d\n",  "J2KProfile", J2KProfile.get());
+    fprintf(stream, "  %22s:\n",  "J2KProfile");
+    J2KProfile.get().Dump(stream);
   }
   if ( ! J2KCorrespondingProfile.empty() ) {
     fprintf(stream, "  %22s = %d\n",  "J2KCorrespondingProfile", J2KCorrespondingProfile.get());
index f572ce41c5afde135a7891e7094f65d7acf8e552..72ca7a55ff1e37291684318ee122a07a4259924c 100755 (executable)
@@ -572,7 +572,7 @@ namespace ASDCP
           optional_property<Raw > QuantizationDefault;
           optional_property<RGBALayout > J2CLayout;
           optional_property<J2KExtendedCapabilities > J2KExtendedCapabilities;
-          optional_property<ui16_t > J2KProfile;
+          optional_property<Array<Kumu::ArchivableUi16> > J2KProfile;
           optional_property<ui16_t > J2KCorrespondingProfile;
 
       JPEG2000PictureSubDescriptor(const Dictionary*& d);