diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-08-25 17:18:11 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-08-25 17:18:11 +0100 |
| commit | a5901718e3a0ee692d745fd3a6d8f5a49d422a26 (patch) | |
| tree | c211b207f911b12ed4313519956e2d616ef773f1 /src | |
| parent | 5384418af0299194ecf3e27fd2e443e7d882a713 (diff) | |
Tweak interop / SMPTE to pass dcp_inspect.
Diffstat (limited to 'src')
| -rw-r--r-- | src/cpl.cc | 3 | ||||
| -rw-r--r-- | src/dcp.cc | 17 | ||||
| -rw-r--r-- | src/picture_asset.cc | 8 | ||||
| -rw-r--r-- | src/picture_asset.h | 2 | ||||
| -rw-r--r-- | src/reel.cc | 4 | ||||
| -rw-r--r-- | src/reel.h | 2 |
6 files changed, 25 insertions, 11 deletions
@@ -218,6 +218,7 @@ CPL::write_xml (bool interop, XMLMetadata const & metadata, shared_ptr<Encryptio root->add_child("Id")->add_child_text ("urn:uuid:" + _id); root->add_child("AnnotationText")->add_child_text (_name); root->add_child("IssueDate")->add_child_text (metadata.issue_date); + root->add_child("Issuer")->add_child_text (metadata.issuer); root->add_child("Creator")->add_child_text (metadata.creator); root->add_child("ContentTitleText")->add_child_text (_name); root->add_child("ContentKind")->add_child_text (content_kind_to_string (_content_kind)); @@ -231,7 +232,7 @@ CPL::write_xml (bool interop, XMLMetadata const & metadata, shared_ptr<Encryptio xmlpp::Node* reel_list = root->add_child ("ReelList"); for (list<shared_ptr<Reel> >::const_iterator i = _reels.begin(); i != _reels.end(); ++i) { - (*i)->write_to_cpl (reel_list); + (*i)->write_to_cpl (reel_list, interop); } if (crypt) { @@ -154,10 +154,19 @@ DCP::write_assetmap (string pkl_uuid, int pkl_length, bool interop, XMLMetadata } root->add_child("Id")->add_child_text ("urn:uuid:" + make_uuid()); - root->add_child("Creator")->add_child_text (metadata.creator); - root->add_child("VolumeCount")->add_child_text ("1"); - root->add_child("IssueDate")->add_child_text (metadata.issue_date); - root->add_child("Issuer")->add_child_text (metadata.issuer); + root->add_child("AnnotationText")->add_child_text ("Created by " + metadata.creator); + if (interop) { + root->add_child("VolumeCount")->add_child_text ("1"); + root->add_child("IssueDate")->add_child_text (metadata.issue_date); + root->add_child("Issuer")->add_child_text (metadata.issuer); + root->add_child("Creator")->add_child_text (metadata.creator); + } else { + root->add_child("Creator")->add_child_text (metadata.creator); + root->add_child("VolumeCount")->add_child_text ("1"); + root->add_child("IssueDate")->add_child_text (metadata.issue_date); + root->add_child("Issuer")->add_child_text (metadata.issuer); + } + xmlpp::Node* asset_list = root->add_child ("AssetList"); xmlpp::Node* asset = asset_list->add_child ("Asset"); diff --git a/src/picture_asset.cc b/src/picture_asset.cc index c3a67430..e1c1f86c 100644 --- a/src/picture_asset.cc +++ b/src/picture_asset.cc @@ -92,7 +92,7 @@ StereoPictureAsset::edit_rate_factor () const } void -PictureAsset::write_to_cpl (xmlpp::Node* node) const +PictureAsset::write_to_cpl (xmlpp::Node* node, bool interop) const { MXFAsset::write_to_cpl (node); @@ -105,7 +105,11 @@ PictureAsset::write_to_cpl (xmlpp::Node* node) const assert (i != c.end ()); (*i)->add_child ("FrameRate")->add_child_text (lexical_cast<string> (_edit_rate * edit_rate_factor ()) + " 1"); - (*i)->add_child ("ScreenAspectRatio")->add_child_text (lexical_cast<string> (_size.width) + " " + lexical_cast<string> (_size.height)); + if (interop) { + (*i)->add_child ("ScreenAspectRatio")->add_child_text (lexical_cast<string> (float (_size.width) / _size.height)); + } else { + (*i)->add_child ("ScreenAspectRatio")->add_child_text (lexical_cast<string> (_size.width) + " " + lexical_cast<string> (_size.height)); + } } bool diff --git a/src/picture_asset.h b/src/picture_asset.h index e99b1f0c..d9f2fe69 100644 --- a/src/picture_asset.h +++ b/src/picture_asset.h @@ -81,7 +81,7 @@ public: return _size; } - void write_to_cpl (xmlpp::Node *) const; + void write_to_cpl (xmlpp::Node *, bool) const; protected: diff --git a/src/reel.cc b/src/reel.cc index c8ea54eb..d039f95b 100644 --- a/src/reel.cc +++ b/src/reel.cc @@ -32,14 +32,14 @@ using boost::shared_ptr; using namespace libdcp; void -Reel::write_to_cpl (xmlpp::Node* node) const +Reel::write_to_cpl (xmlpp::Node* node, bool interop) const { xmlpp::Node* reel = node->add_child ("Reel"); reel->add_child("Id")->add_child_text ("urn:uuid:" + make_uuid()); xmlpp::Node* asset_list = reel->add_child ("AssetList"); if (_main_picture) { - _main_picture->write_to_cpl (asset_list); + _main_picture->write_to_cpl (asset_list, interop); } if (_main_sound) { @@ -63,7 +63,7 @@ public: return _main_subtitle; } - void write_to_cpl (xmlpp::Node *) const; + void write_to_cpl (xmlpp::Node *, bool) const; bool encrypted () const; |
