Merge branch 'master' into htj2c htj2c 29/head
authorjhurst <jhurst@cinecert.com>
Mon, 10 Feb 2020 16:52:48 +0000 (08:52 -0800)
committerjhurst <jhurst@cinecert.com>
Mon, 10 Feb 2020 16:52:48 +0000 (08:52 -0800)
* master:
  Fix typo. I believe this actually references SMPTE RP 2057 "Text-Based Metadata Carriage in MXF" (implemented as part of commit f4061a21fffad4fdf8dbb2f193f0f0960b25421c).
  Fix Object ref not being written: this prevented GenericStreamTextBasedSet to be correctly linked to TextBasedDMFramework

src/AS_02.h
src/MXF.h
src/h__Writer.cpp

index 502a23663c9df847b3fcc3f4b85a5d75b39d2fe3..61a2c1e0ba6b83c0e1fd715086c01c5361643d52 100644 (file)
@@ -530,7 +530,7 @@ namespace AS_02
       // error occurs.
       Result_t WriteFrame(const ASDCP::FrameBuffer&, ASDCP::AESEncContext* = 0, ASDCP::HMACContext* = 0);
 
-      // Writes an XML text document to the MXF file as per RP 2067. If the
+      // Writes an XML text document to the MXF file as per RP 2057. If the
       // optional AESEncContext argument is present, the document is encrypted
       // prior to writing. Fails if the file is not open, is finalized, or an
       // operating system error occurs.
index d6e201a420a76f4bd52e300022747bd0ded226be..30c1d164b7ad1654dc4f1fa51a75f2d63203ff5c 100755 (executable)
--- a/src/MXF.h
+++ b/src/MXF.h
@@ -253,7 +253,7 @@ namespace ASDCP
          }
          bool operator==(const PropertyType& rhs) const { return this->m_property == rhs; }
          bool operator==(const optional_property<PropertyType>& rhs) const { return this->m_property == rhs.m_property; }
-         operator PropertyType&() { return this->m_property; }
+         operator const PropertyType&() const { return this->m_property; }
          void set(const PropertyType& rhs) { this->m_property = rhs; this->m_has_value = true; }
          void set_has_value(bool has_value = true) { this->m_has_value = has_value; }
          void reset(const PropertyType& rhs) { this->m_has_value = false; }
index 71e9ce63bc268897cbd1fe1b712b2424738b77a5..fc7f06024a7a553bde3d72f362172f47a8a540b5 100755 (executable)
@@ -180,7 +180,8 @@ ASDCP::AddDmsTrackGenericPartUtf8Text(Kumu::FileWriter& file_writer, MXF::OP1aHe
   assert(dmf_obj);
   header_part.AddChildObject(dmf_obj);
   Segment->DMFramework = dmf_obj->InstanceUID;
-  GenRandomValue(dmf_obj->ObjectRef);
+  GenRandomValue(dmf_obj->ObjectRef.get());
+  dmf_obj->ObjectRef.set_has_value();
 
   // Create a new SID on the RIP, located at the current file position
   ui32_t max_sid = 0;