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

index 8e1c3a760838e7b5397cd1d02f9457d0d6881de0..9fce0b3c9d54940bea6f785208bac90390f07654 100755 (executable)
@@ -2133,8 +2133,8 @@ JPEG2000PictureSubDescriptor::InitFromTLVSet(TLVReader& TLVSet)
     result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KProfile));
     J2KProfile.set_has_value( result == RESULT_OK );
   }
-  if ( ASDCP_SUCCESS(result) ) { 
-    result = TLVSet.ReadUi16(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KCorrespondingProfile));
+  if ( ASDCP_SUCCESS(result) ) {
+    result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KCorrespondingProfile));
     J2KCorrespondingProfile.set_has_value( result == RESULT_OK );
   }
   return result;
@@ -2162,7 +2162,7 @@ JPEG2000PictureSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet)
   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.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KProfile));
-  if ( ASDCP_SUCCESS(result)  && ! J2KCorrespondingProfile.empty() ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KCorrespondingProfile));
+  if ( ASDCP_SUCCESS(result)  && ! J2KCorrespondingProfile.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KCorrespondingProfile));
   return result;
 }
 
@@ -2228,10 +2228,11 @@ JPEG2000PictureSubDescriptor::Dump(FILE* stream)
   }
   if ( ! J2KProfile.empty() ) {
     fprintf(stream, "  %22s:\n",  "J2KProfile");
-    J2KProfile.get().Dump(stream);
+  J2KProfile.get().Dump(stream);
   }
   if ( ! J2KCorrespondingProfile.empty() ) {
-    fprintf(stream, "  %22s = %d\n",  "J2KCorrespondingProfile", J2KCorrespondingProfile.get());
+    fprintf(stream, "  %22s:\n",  "J2KCorrespondingProfile");
+  J2KCorrespondingProfile.get().Dump(stream);
   }
 }
 
index 72ca7a55ff1e37291684318ee122a07a4259924c..962b437f8b0a5026506b51bccafd71c0b38828d4 100755 (executable)
@@ -573,7 +573,7 @@ namespace ASDCP
           optional_property<RGBALayout > J2CLayout;
           optional_property<J2KExtendedCapabilities > J2KExtendedCapabilities;
           optional_property<Array<Kumu::ArchivableUi16> > J2KProfile;
-          optional_property<ui16_t > J2KCorrespondingProfile;
+          optional_property<Array<Kumu::ArchivableUi16> > J2KCorrespondingProfile;
 
       JPEG2000PictureSubDescriptor(const Dictionary*& d);
       JPEG2000PictureSubDescriptor(const JPEG2000PictureSubDescriptor& rhs);