- dcp.write_xml (_film->interop () ? dcp::INTEROP : dcp::SMPTE, meta, signer, Config::instance()->dcp_metadata_filename_format());
+ cpl->set_main_sound_configuration (msc.to_string());
+ cpl->set_main_sound_sample_rate (_film->audio_frame_rate());
+ cpl->set_main_picture_stored_area (_film->frame_size());
+ cpl->set_main_picture_active_area (_film->active_area());
+
+ shared_ptr<const dcp::CertificateChain> signer;
+ signer = Config::instance()->signer_chain ();
+ /* We did check earlier, but check again here to be on the safe side */
+ string reason;
+ if (!signer->valid (&reason)) {
+ throw InvalidSignerError (reason);
+ }
+
+ dcp.write_xml (
+ _film->interop() ? dcp::INTEROP : dcp::SMPTE,
+ issuer,
+ creator,
+ dcp::LocalTime().as_string(),
+ String::compose("Created by libdcp %1", dcp::version),
+ signer,
+ Config::instance()->dcp_metadata_filename_format()
+ );