Move make_simple() into test.{cc,h}
[libdcp.git] / src / atmos_asset.cc
index 3924e43a2e83822528c0288f4a53a97395f8377d..c31ac2d65c8374fbfc5ea54c98ae577b6f199d2a 100644 (file)
@@ -41,14 +41,14 @@ using std::string;
 using boost::shared_ptr;
 using namespace dcp;
 
-AtmosAsset::AtmosAsset (Fraction edit_rate, int first_frame, int max_channel_count, int max_object_count, string atmos_id, int atmos_version)
+AtmosAsset::AtmosAsset (Fraction edit_rate, int first_frame, int max_channel_count, int max_object_count, int atmos_version)
        : MXF (SMPTE)
        , _edit_rate (edit_rate)
        , _intrinsic_duration (0)
        , _first_frame (first_frame)
        , _max_channel_count (max_channel_count)
        , _max_object_count (max_object_count)
-       , _atmos_id (atmos_id)
+       , _atmos_id (make_uuid())
        , _atmos_version (atmos_version)
 {
 
@@ -80,6 +80,13 @@ AtmosAsset::AtmosAsset (boost::filesystem::path file)
        _atmos_id = id;
 
        _atmos_version = desc.AtmosVersion;
+
+       ASDCP::WriterInfo info;
+       if (ASDCP_FAILURE (reader.FillWriterInfo (info))) {
+               boost::throw_exception (ReadError ("could not read audio MXF information"));
+       }
+
+       _id = read_writer_info (info);
 }
 
 string