summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-04-10 14:50:11 +0100
committerCarl Hetherington <cth@carlh.net>2014-04-10 14:50:11 +0100
commitb6fb67919acc88848ddc92f31abaeab376c3a846 (patch)
treeff8de6e36d5bf7d03adcbed91f406bbad6caa81c /src/lib
parent23e62ea48ec4da80cc37895c7dbb9826063fada8 (diff)
Fix various errors in DCP creation.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/writer.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index b8b366426..306f6d7f4 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -393,6 +393,8 @@ Writer::finish ()
_film->log()->log ("Hard-link failed; fell back to copying");
}
+ _picture_mxf->set_file (video_to);
+
/* Move the audio MXF into the DCP */
if (_sound_mxf) {
@@ -406,6 +408,8 @@ Writer::finish ()
String::compose (_("could not move audio MXF into the DCP (%1)"), ec.value ()), _film->file (_film->audio_mxf_filename ())
);
}
+
+ _sound_mxf->set_file (audio_to);
}
dcp::DCP dcp (_film->dir (_film->dcp_name()));
@@ -424,15 +428,18 @@ Writer::finish ()
shared_ptr<dcp::MonoPictureMXF> mono = dynamic_pointer_cast<dcp::MonoPictureMXF> (_picture_mxf);
if (mono) {
reel->add (shared_ptr<dcp::ReelPictureAsset> (new dcp::ReelMonoPictureAsset (mono, 0)));
+ dcp.add (mono);
}
shared_ptr<dcp::StereoPictureMXF> stereo = dynamic_pointer_cast<dcp::StereoPictureMXF> (_picture_mxf);
if (stereo) {
reel->add (shared_ptr<dcp::ReelPictureAsset> (new dcp::ReelStereoPictureAsset (stereo, 0)));
+ dcp.add (stereo);
}
if (_sound_mxf) {
reel->add (shared_ptr<dcp::ReelSoundAsset> (new dcp::ReelSoundAsset (_sound_mxf, 0)));
+ dcp.add (_sound_mxf);
}
cpl->add (reel);
@@ -450,6 +457,7 @@ Writer::finish ()
dcp::XMLMetadata meta = Config::instance()->dcp_metadata ();
meta.set_issue_date_now ();
+
dcp.write_xml (_film->interop () ? dcp::INTEROP : dcp::SMPTE, meta, _film->is_signed() ? make_signer () : shared_ptr<const dcp::Signer> ());
_film->log()->log (