#include "metadata.h"
#include "util.h"
#include "local_time.h"
+#include "AS_DCP.h"
#include <sstream>
#include <iomanip>
#include <time.h>
}
+void
+MXFMetadata::read (ASDCP::WriterInfo const & info)
+{
+ company_name = info.CompanyName;
+ product_name = info.ProductName;
+ product_version = info.ProductVersion;
+}
XMLMetadata::XMLMetadata ()
: issuer ("libdcp" LIBDCP_VERSION)
class utc_offset_to_string_test;
+namespace ASDCP {
+ class WriterInfo;
+}
+
namespace dcp
{
public:
MXFMetadata ();
+ void read (ASDCP::WriterInfo const & info);
+
std::string company_name;
std::string product_name;
std::string product_version;
boost::throw_exception (DCPReadError ("could not read video MXF information"));
}
- read_writer_info (info);
+ _id = read_writer_info (info);
}
MonoPictureMXF::MonoPictureMXF (Fraction edit_rate)
}
}
-void
+string
MXF::read_writer_info (ASDCP::WriterInfo const & info)
{
char buffer[64];
+
+ Kumu::bin2UUIDhex (info.CryptographicKeyID, ASDCP::UUIDlen, buffer, sizeof (buffer));
+ _key_id = buffer;
+
+ _metadata.read (info);
+
Kumu::bin2UUIDhex (info.AssetUUID, ASDCP::UUIDlen, buffer, sizeof (buffer));
- _id = buffer;
+ return buffer;
}
template <class P, class Q>
friend void start (PictureMXFWriter* writer, boost::shared_ptr<P> state, Standard standard, Q* mxf, uint8_t* data, int size);
- void read_writer_info (ASDCP::WriterInfo const &);
+ std::string read_writer_info (ASDCP::WriterInfo const &);
/** Fill in a ADSCP::WriteInfo struct.
* @param w struct to fill in.
* @param standard INTEROP or SMPTE.
boost::throw_exception (DCPReadError ("could not read audio MXF information"));
}
- read_writer_info (info);
-
+ _id = read_writer_info (info);
}
SoundMXF::SoundMXF (Fraction edit_rate, int sampling_rate, int channels)
boost::throw_exception (DCPReadError ("could not read video MXF information"));
}
- read_writer_info (info);
+ _id = read_writer_info (info);
}
StereoPictureMXF::StereoPictureMXF (Fraction edit_rate)