Write MCA tags based on the specified sound field.
authorCarl Hetherington <cth@carlh.net>
Thu, 25 Mar 2021 23:09:15 +0000 (00:09 +0100)
committerCarl Hetherington <cth@carlh.net>
Thu, 25 Mar 2021 23:09:15 +0000 (00:09 +0100)
I had previously assumed that one should write MCA information into
the sound MXF based on what channels actually contain sound rather
than silence.

However a previous example of a stereo DCP gives a verification error
in EasyDCP (see DoM bug #1935) which is solved by adding MCA tags
for each channel in the specified sound field (e.g. at least 6 tags
for a file which is marked as 5.1) even if the audio is really stereo.

This commit removes the "active channels" stuff and makes sure
that if we say a file is 5.1 we write at least 6 MCA tags (and
similarly for 7.1).

37 files changed:
examples/make_dcp.cc
src/sound_asset.cc
src/sound_asset.h
src/sound_asset_writer.cc
src/sound_asset_writer.h
src/types.cc
test/dcp_test.cc
test/encryption_test.cc
test/mca_test.cc
test/ref/DCP/dcp_test1/ASSETMAP.xml
test/ref/DCP/dcp_test1/audio.mxf
test/ref/DCP/dcp_test1/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml [deleted file]
test/ref/DCP/dcp_test1/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml [new file with mode: 0644]
test/ref/DCP/dcp_test2/ASSETMAP.xml
test/ref/DCP/dcp_test2/audio.mxf
test/ref/DCP/dcp_test2/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test2/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml [new file with mode: 0644]
test/ref/DCP/dcp_test2/pkl_ae8a9818-872a-4f86-8493-11dfdea03e09.xml [deleted file]
test/ref/DCP/dcp_test5/ASSETMAP.xml
test/ref/DCP/dcp_test5/audio.mxf
test/ref/DCP/dcp_test5/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test5/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml [new file with mode: 0644]
test/ref/DCP/dcp_test5/pkl_74e205d0-d145-42d2-8c49-7b55d058ca55.xml [deleted file]
test/ref/DCP/dcp_test7/ASSETMAP
test/ref/DCP/dcp_test7/audio.mxf
test/ref/DCP/dcp_test7/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test7/pkl_63c3aece-c581-4603-b612-75e43f0c0430.xml [deleted file]
test/ref/DCP/dcp_test7/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml [new file with mode: 0644]
test/ref/DCP/encryption_test/ASSETMAP.xml
test/ref/DCP/encryption_test/audio.mxf
test/ref/DCP/encryption_test/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/encryption_test/pkl_627ad740-ae36-4c49-92bb-553a9f09c4f8.xml [new file with mode: 0644]
test/ref/DCP/encryption_test/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml [deleted file]
test/sync_test.cc
test/test.cc
test/verify_test.cc

index 22f6e72233ae6ec2d40ba04570f869e38f4ae74f..dbd95a527627bf0b5a8e48b64e887e28c325978a 100644 (file)
@@ -74,11 +74,7 @@ main ()
           When creating the object we specify the sampling rate (48kHz) and the number of channels (2).
        */
        auto sound_asset = std::make_shared<dcp::SoundAsset>(dcp::Fraction(24, 1), 48000, 2, dcp::LanguageTag("en-GB"), dcp::Standard::SMPTE);
-       /* Here we must also say which of our channels will have "real" sound data in them */
-       std::vector<dcp::Channel> active_channels;
-       active_channels.push_back(dcp::Channel::LEFT);
-       active_channels.push_back(dcp::Channel::RIGHT);
-       auto sound_writer = sound_asset->start_write("DCP/sound.mxf", active_channels);
+       auto sound_writer = sound_asset->start_write("DCP/sound.mxf");
 
        /* Write some sine waves */
        std::array<float, 48000> left;
index 1c0a181f81255c72dea107d73b6100c556123e78..fe0c5dd0447647875bd82131b5eeaee7b9bfb761 100644 (file)
@@ -222,13 +222,13 @@ SoundAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt, NoteHand
 
 
 shared_ptr<SoundAssetWriter>
-SoundAsset::start_write (boost::filesystem::path file, vector<Channel> active_channels, bool atmos_sync)
+SoundAsset::start_write (boost::filesystem::path file, bool atmos_sync)
 {
        if (atmos_sync && _channels < 14) {
                throw MiscError ("Insufficient channels to write ATMOS sync (there must be at least 14)");
        }
 
-       return shared_ptr<SoundAssetWriter> (new SoundAssetWriter(this, file, active_channels, atmos_sync));
+       return shared_ptr<SoundAssetWriter> (new SoundAssetWriter(this, file, atmos_sync));
 }
 
 
index e238de46e5e332d07fbac55c5b1d5a6fbde7d2d7..e58773e4c90adc7a35309a75dc6d3beefc05aac2 100644 (file)
@@ -75,7 +75,7 @@ public:
        explicit SoundAsset (boost::filesystem::path file);
        SoundAsset (Fraction edit_rate, int sampling_rate, int channels, LanguageTag language, Standard standard);
 
-       std::shared_ptr<SoundAssetWriter> start_write (boost::filesystem::path file, std::vector<Channel> active_channels, bool atmos_sync = false);
+       std::shared_ptr<SoundAssetWriter> start_write (boost::filesystem::path file, bool atmos_sync = false);
        std::shared_ptr<SoundAssetReader> start_read () const;
 
        bool equals (
index c0cdf0cbb7beaf59f5ef9eb09df3a8d5f10f19a3..205a45ab2f9c2eb25e8d62dcad1795ff73fb5598 100644 (file)
@@ -66,12 +66,11 @@ struct SoundAssetWriter::ASDCPState
 };
 
 
-SoundAssetWriter::SoundAssetWriter (SoundAsset* asset, boost::filesystem::path file, vector<Channel> active_channels, bool sync)
+SoundAssetWriter::SoundAssetWriter (SoundAsset* asset, boost::filesystem::path file, bool sync)
        : AssetWriter (asset, file)
        , _state (new SoundAssetWriter::ASDCPState)
        , _asset (asset)
        , _sync (sync)
-       , _active_channels (active_channels)
 {
        DCP_ASSERT (!_sync || _asset->channels() >= 14);
        DCP_ASSERT (!_sync || _asset->standard() == Standard::SMPTE);
@@ -117,7 +116,7 @@ SoundAssetWriter::start ()
                boost::throw_exception (FileError("could not open audio MXF for writing", _file.string(), r));
        }
 
-       if (_asset->standard() == Standard::SMPTE && !_active_channels.empty()) {
+       if (_asset->standard() == Standard::SMPTE) {
 
                ASDCP::MXF::WaveAudioDescriptor* essence_descriptor = nullptr;
                _state->mxf_writer.OP1aHeader().GetMDObjectByType(
@@ -145,15 +144,26 @@ SoundAssetWriter::start ()
                _state->mxf_writer.OP1aHeader().AddChildObject(soundfield);
                essence_descriptor->SubDescriptors.push_back(soundfield->InstanceUID);
 
-               for (auto i: _active_channels) {
+               /* We must describe at least the number of channels in `field', even if they aren't
+                * in the asset (I think)
+                */
+               int descriptors = max(_asset->channels(), field == MCASoundField::FIVE_POINT_ONE ? 6 : 8);
+
+               auto const used = used_audio_channels();
+
+               for (auto i = 0; i < descriptors; ++i) {
+                       auto dcp_channel = static_cast<dcp::Channel>(i);
+                       if (find(used.begin(), used.end(), dcp_channel) == used.end()) {
+                               continue;
+                       }
                        auto channel = new ASDCP::MXF::AudioChannelLabelSubDescriptor(asdcp_smpte_dict);
                        GenRandomValue (channel->MCALinkID);
                        channel->SoundfieldGroupLinkID = soundfield->MCALinkID;
-                       channel->MCAChannelID = static_cast<int>(i) + 1;
-                       channel->MCATagSymbol = "ch" + channel_to_mca_id(i, field);
-                       channel->MCATagName = channel_to_mca_name(i, field);
+                       channel->MCAChannelID = i + 1;
+                       channel->MCATagSymbol = "ch" + channel_to_mca_id(dcp_channel, field);
+                       channel->MCATagName = channel_to_mca_name(dcp_channel, field);
                        channel->RFC5646SpokenLanguage = _asset->language();
-                       channel->MCALabelDictionaryID = channel_to_mca_universal_label(i, field, asdcp_smpte_dict);
+                       channel->MCALabelDictionaryID = channel_to_mca_universal_label(dcp_channel, field, asdcp_smpte_dict);
                        _state->mxf_writer.OP1aHeader().AddChildObject(channel);
                        essence_descriptor->SubDescriptors.push_back(channel->InstanceUID);
                }
index d2eba02474cc77ecf3887641fe8284fbd0a8f6d0..b024749f3e776f4601940606da7a3cc905113459 100644 (file)
@@ -78,7 +78,7 @@ private:
        friend class SoundAsset;
        friend struct ::sync_test1;
 
-       SoundAssetWriter (SoundAsset *, boost::filesystem::path, std::vector<Channel> active_channels, bool sync);
+       SoundAssetWriter (SoundAsset *, boost::filesystem::path, bool sync);
 
        void start ();
        void write_current_frame ();
@@ -99,8 +99,6 @@ private:
        /** index of the sync packet (0-3) which starts the next edit unit */
        int _sync_packet = 0;
        FSK _fsk;
-
-       std::vector<Channel> _active_channels;
 };
 
 }
index b4c10ddc35ba14c33c73338dbce7c29a47d0f432..44422ca96167fa72729bf73d2564ff5101fd163b 100644 (file)
@@ -827,20 +827,20 @@ dcp::channel_to_mca_universal_label (Channel c, MCASoundField field, ASDCP::Dict
 vector<dcp::Channel>
 dcp::used_audio_channels ()
 {
-       vector<Channel> c;
-       c.push_back (Channel::LEFT);
-       c.push_back (Channel::RIGHT);
-       c.push_back (Channel::CENTRE);
-       c.push_back (Channel::LFE);
-       c.push_back (Channel::LS);
-       c.push_back (Channel::RS);
-       c.push_back (Channel::HI);
-       c.push_back (Channel::VI);
-       c.push_back (Channel::BSL);
-       c.push_back (Channel::BSR);
-       c.push_back (Channel::MOTION_DATA);
-       c.push_back (Channel::SYNC_SIGNAL);
-       c.push_back (Channel::SIGN_LANGUAGE);
-       return c;
+       return {
+               Channel::LEFT,
+               Channel::RIGHT,
+               Channel::CENTRE,
+               Channel::LFE,
+               Channel::LS,
+               Channel::RS,
+               Channel::HI,
+               Channel::VI,
+               Channel::BSL,
+               Channel::BSR,
+               Channel::MOTION_DATA,
+               Channel::SYNC_SIGNAL,
+               Channel::SIGN_LANGUAGE
+       };
 }
 
index 40030f7be8f877db24b535101c2fca3f39ee807f..fb3a605c694c537bf1688088b5aa31a5d5e876ad 100644 (file)
@@ -112,7 +112,7 @@ BOOST_AUTO_TEST_CASE (dcp_test2)
 
        shared_ptr<dcp::SoundAsset> ms (new dcp::SoundAsset(dcp::Fraction(24, 1), 48000, 1, dcp::LanguageTag("en-GB"), dcp::Standard::SMPTE));
        ms->set_metadata (mxf_meta);
-       shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write ("build/test/DCP/dcp_test2/audio.mxf", vector<dcp::Channel>());
+       shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write ("build/test/DCP/dcp_test2/audio.mxf");
 
        SF_INFO info;
        info.format = 0;
@@ -290,7 +290,7 @@ BOOST_AUTO_TEST_CASE (dcp_test5)
 
        auto ms = make_shared<dcp::SoundAsset>(dcp::Fraction(24, 1), 48000, 1, dcp::LanguageTag("en-GB"), dcp::Standard::SMPTE);
        ms->set_metadata (mxf_meta);
-       shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write ("build/test/DCP/dcp_test5/audio.mxf", vector<dcp::Channel>());
+       shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write ("build/test/DCP/dcp_test5/audio.mxf");
 
        SF_INFO info;
        info.format = 0;
index a4246294cba87d5edba07891ef9eabf2c074e252..5294f1acf0119d0a6e32d45cc91feb94ef7e6f7f 100644 (file)
@@ -100,7 +100,7 @@ BOOST_AUTO_TEST_CASE (encryption_test)
        shared_ptr<dcp::SoundAsset> ms (new dcp::SoundAsset (dcp::Fraction (24, 1), 48000, 1, dcp::LanguageTag("en-GB"), dcp::Standard::SMPTE));
        ms->set_metadata (mxf_metadata);
        ms->set_key (key);
-       shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write ("build/test/DCP/encryption_test/audio.mxf", vector<dcp::Channel>());
+       shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write ("build/test/DCP/encryption_test/audio.mxf");
 
        SF_INFO info;
        info.format = 0;
index 8467b49a04af29fc4de3e68bc84f36622841d835..d9708ea9cce5357cddc7643460c3111787b0a766 100644 (file)
@@ -92,14 +92,7 @@ BOOST_AUTO_TEST_CASE (parse_mca_descriptors_from_mxf_test)
 BOOST_AUTO_TEST_CASE (write_mca_descriptors_to_mxf_test)
 {
        shared_ptr<dcp::SoundAsset> sound_asset(new dcp::SoundAsset(dcp::Fraction(24, 1), 48000, 6, dcp::LanguageTag("en-US"), dcp::Standard::SMPTE));
-       vector<dcp::Channel> channels;
-       channels.push_back (dcp::Channel::LEFT);
-       channels.push_back (dcp::Channel::RIGHT);
-       channels.push_back (dcp::Channel::CENTRE);
-       channels.push_back (dcp::Channel::LFE);
-       channels.push_back (dcp::Channel::LS);
-       channels.push_back (dcp::Channel::RS);
-       shared_ptr<dcp::SoundAssetWriter> writer = sound_asset->start_write("build/test/write_mca_descriptors_to_mxf_test.mxf", channels);
+       shared_ptr<dcp::SoundAssetWriter> writer = sound_asset->start_write("build/test/write_mca_descriptors_to_mxf_test.mxf");
 
        float* samples[6];
        for (int i = 0; i < 6; ++i) {
index 1e5c909b62c57dd8636f1ca1adcb4b9fed3f5524..88c77c3761d16474b13364946791b0ce0ad51196 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <AssetMap xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM">
-  <Id>urn:uuid:07e9f5a0-83ab-4791-8c6b-7df5d11f76f9</Id>
+  <Id>urn:uuid:5d51e8a1-b2a5-4da6-9b66-4615c3609440</Id>
   <AnnotationText>A Test DCP</AnnotationText>
   <Creator>OpenDCP 0.0.25</Creator>
   <VolumeCount>1</VolumeCount>
@@ -8,11 +8,11 @@
   <Issuer>OpenDCP 0.0.25</Issuer>
   <AssetList>
     <Asset>
-      <Id>urn:uuid:2b9b857f-ab4a-440e-a313-1ace0f1cfc95</Id>
+      <Id>urn:uuid:6af1e0c1-c441-47f8-a502-3efd46b1fa4f</Id>
       <PackingList>true</PackingList>
       <ChunkList>
         <Chunk>
-          <Path>pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml</Path>
+          <Path>pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
           <Length>1179</Length>
@@ -26,7 +26,7 @@
           <Path>cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
-          <Length>5082</Length>
+          <Length>8762</Length>
         </Chunk>
       </ChunkList>
     </Asset>
index 0b5a4459d90c37cd6f23cbc64c383d62a6f4e05a..068d6bfa46770aa752da05e2c9b5156cfeb1fce5 100644 (file)
Binary files a/test/ref/DCP/dcp_test1/audio.mxf and b/test/ref/DCP/dcp_test1/audio.mxf differ
index fed09ab1c5b6c56e8a08dcaabb6d033ffe49730b..36e2ff5188f0aaba002ac7067e0959ec51d56eb8 100644 (file)
   <RatingList/>
   <ReelList>
     <Reel>
-      <Id>urn:uuid:48db27c3-4964-46a2-8b02-3e5570efb42d</Id>
+      <Id>urn:uuid:7b6616d2-9afe-4d54-a2bb-4f3f71ac6e0c</Id>
       <AssetList>
         <MainMarkers>
-          <Id>urn:uuid:cd49971e-bf4c-4594-8474-54ebef09a40c</Id>
+          <Id>urn:uuid:793170e7-e913-404b-8942-1c7f2e5cf012</Id>
           <AnnotationText></AnnotationText>
           <EditRate>24 1</EditRate>
           <IntrinsicDuration>24</IntrinsicDuration>
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
-          <Hash>qtXbkcwhUj/yqquVLmV+wbzbxQ8=</Hash>
+          <Hash>WU0/u1wM17y7Kriq06+65/ViX1o=</Hash>
         </MainSound>
         <meta:CompositionMetadataAsset xmlns:meta="http://www.smpte-ra.org/schemas/429-16/2014/CPL-Metadata">
-          <Id>urn:uuid:63c3aece-c581-4603-b612-75e43f0c0430</Id>
+          <Id>urn:uuid:93182bd2-b1e8-41a3-b5c8-6e6564273bff</Id>
           <EditRate>24 1</EditRate>
           <IntrinsicDuration>24</IntrinsicDuration>
           <meta:FullContentTitleText/>
               <r1:RFC5646SpokenLanguage>en-US</r1:RFC5646SpokenLanguage>
               <r1:SoundfieldGroupLinkID>urn:uuid:8e293965-f8ad-48c6-971d-261b01f65cdb</r1:SoundfieldGroupLinkID>
             </r0:AudioChannelLabelSubDescriptor>
+            <r0:AudioChannelLabelSubDescriptor>
+              <r1:InstanceID>urn:uuid:cd49971e-bf4c-4594-8474-54ebef09a40c</r1:InstanceID>
+              <r1:MCALabelDictionaryID>urn:smpte:ul:060e2b34.0401010d.03020102.00000000</r1:MCALabelDictionaryID>
+              <r1:MCALinkID>urn:uuid:48db27c3-4964-46a2-8b02-3e5570efb42d</r1:MCALinkID>
+              <r1:MCATagSymbol>chR</r1:MCATagSymbol>
+              <r1:MCATagName>Right</r1:MCATagName>
+              <r1:MCAChannelID>2</r1:MCAChannelID>
+              <r1:RFC5646SpokenLanguage>en-US</r1:RFC5646SpokenLanguage>
+              <r1:SoundfieldGroupLinkID>urn:uuid:8e293965-f8ad-48c6-971d-261b01f65cdb</r1:SoundfieldGroupLinkID>
+            </r0:AudioChannelLabelSubDescriptor>
+            <r0:AudioChannelLabelSubDescriptor>
+              <r1:InstanceID>urn:uuid:2b9b857f-ab4a-440e-a313-1ace0f1cfc95</r1:InstanceID>
+              <r1:MCALabelDictionaryID>urn:smpte:ul:060e2b34.0401010d.03020103.00000000</r1:MCALabelDictionaryID>
+              <r1:MCALinkID>urn:uuid:63c3aece-c581-4603-b612-75e43f0c0430</r1:MCALinkID>
+              <r1:MCATagSymbol>chC</r1:MCATagSymbol>
+              <r1:MCATagName>Center</r1:MCATagName>
+              <r1:MCAChannelID>3</r1:MCAChannelID>
+              <r1:RFC5646SpokenLanguage>en-US</r1:RFC5646SpokenLanguage>
+              <r1:SoundfieldGroupLinkID>urn:uuid:8e293965-f8ad-48c6-971d-261b01f65cdb</r1:SoundfieldGroupLinkID>
+            </r0:AudioChannelLabelSubDescriptor>
+            <r0:AudioChannelLabelSubDescriptor>
+              <r1:InstanceID>urn:uuid:9780965c-1d68-4829-b2cf-9666b6b91bd9</r1:InstanceID>
+              <r1:MCALabelDictionaryID>urn:smpte:ul:060e2b34.0401010d.03020104.00000000</r1:MCALabelDictionaryID>
+              <r1:MCALinkID>urn:uuid:07e9f5a0-83ab-4791-8c6b-7df5d11f76f9</r1:MCALinkID>
+              <r1:MCATagSymbol>chLFE</r1:MCATagSymbol>
+              <r1:MCATagName>LFE</r1:MCATagName>
+              <r1:MCAChannelID>4</r1:MCAChannelID>
+              <r1:RFC5646SpokenLanguage>en-US</r1:RFC5646SpokenLanguage>
+              <r1:SoundfieldGroupLinkID>urn:uuid:8e293965-f8ad-48c6-971d-261b01f65cdb</r1:SoundfieldGroupLinkID>
+            </r0:AudioChannelLabelSubDescriptor>
+            <r0:AudioChannelLabelSubDescriptor>
+              <r1:InstanceID>urn:uuid:18a0931c-9ecf-49cc-b851-8f1c6e0849bf</r1:InstanceID>
+              <r1:MCALabelDictionaryID>urn:smpte:ul:060e2b34.0401010d.03020105.00000000</r1:MCALabelDictionaryID>
+              <r1:MCALinkID>urn:uuid:3cf6c3a1-0b08-4033-96b5-1eefaf505371</r1:MCALinkID>
+              <r1:MCATagSymbol>chLs</r1:MCATagSymbol>
+              <r1:MCATagName>Left Surround</r1:MCATagName>
+              <r1:MCAChannelID>5</r1:MCAChannelID>
+              <r1:RFC5646SpokenLanguage>en-US</r1:RFC5646SpokenLanguage>
+              <r1:SoundfieldGroupLinkID>urn:uuid:8e293965-f8ad-48c6-971d-261b01f65cdb</r1:SoundfieldGroupLinkID>
+            </r0:AudioChannelLabelSubDescriptor>
+            <r0:AudioChannelLabelSubDescriptor>
+              <r1:InstanceID>urn:uuid:b6a34428-b4a5-4edf-bd3f-cf57be31cd2f</r1:InstanceID>
+              <r1:MCALabelDictionaryID>urn:smpte:ul:060e2b34.0401010d.03020106.00000000</r1:MCALabelDictionaryID>
+              <r1:MCALinkID>urn:uuid:0b93e03a-e6c1-4ad1-9a98-223a62c7e37f</r1:MCALinkID>
+              <r1:MCATagSymbol>chRs</r1:MCATagSymbol>
+              <r1:MCATagName>Right Surround</r1:MCATagName>
+              <r1:MCAChannelID>6</r1:MCAChannelID>
+              <r1:RFC5646SpokenLanguage>en-US</r1:RFC5646SpokenLanguage>
+              <r1:SoundfieldGroupLinkID>urn:uuid:8e293965-f8ad-48c6-971d-261b01f65cdb</r1:SoundfieldGroupLinkID>
+            </r0:AudioChannelLabelSubDescriptor>
           </mca:MCASubDescriptors>
         </meta:CompositionMetadataAsset>
       </AssetList>
diff --git a/test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml b/test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml
deleted file mode 100644 (file)
index e2a2832..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
-  <Id>urn:uuid:2b9b857f-ab4a-440e-a313-1ace0f1cfc95</Id>
-  <AnnotationText>A Test DCP</AnnotationText>
-  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
-  <Issuer>OpenDCP 0.0.25</Issuer>
-  <Creator>OpenDCP 0.0.25</Creator>
-  <AssetList>
-    <Asset>
-      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
-      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
-      <Hash>X3bMCBdXEOYEpYmsConNWrWUAGs=</Hash>
-      <Size>5082</Size>
-      <Type>text/xml</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
-      <AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
-      <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
-      <Size>49240</Size>
-      <Type>application/mxf</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:9482e87d-292d-4e0e-a98d-c61822b60fe9</Id>
-      <AnnotationText>9482e87d-292d-4e0e-a98d-c61822b60fe9</AnnotationText>
-      <Hash>qtXbkcwhUj/yqquVLmV+wbzbxQ8=</Hash>
-      <Size>881326</Size>
-      <Type>application/mxf</Type>
-    </Asset>
-  </AssetList>
-</PackingList>
diff --git a/test/ref/DCP/dcp_test1/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml b/test/ref/DCP/dcp_test1/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml
new file mode 100644 (file)
index 0000000..c73f4a1
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
+  <Id>urn:uuid:6af1e0c1-c441-47f8-a502-3efd46b1fa4f</Id>
+  <AnnotationText>A Test DCP</AnnotationText>
+  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
+  <Issuer>OpenDCP 0.0.25</Issuer>
+  <Creator>OpenDCP 0.0.25</Creator>
+  <AssetList>
+    <Asset>
+      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
+      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
+      <Hash>SEEi70vx1WQs67bmu2zKvzIkXvY=</Hash>
+      <Size>8762</Size>
+      <Type>text/xml</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
+      <AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
+      <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
+      <Size>49240</Size>
+      <Type>application/mxf</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:9482e87d-292d-4e0e-a98d-c61822b60fe9</Id>
+      <AnnotationText>9482e87d-292d-4e0e-a98d-c61822b60fe9</AnnotationText>
+      <Hash>WU0/u1wM17y7Kriq06+65/ViX1o=</Hash>
+      <Size>881326</Size>
+      <Type>application/mxf</Type>
+    </Asset>
+  </AssetList>
+</PackingList>
index 73d9d9a18612e14ae7eb8b8f0f5313eaed53bde0..1940929e3618fe5317bd66dd767b750202e344d9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <AssetMap xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM">
-  <Id>urn:uuid:74e205d0-d145-42d2-8c49-7b55d058ca55</Id>
+  <Id>urn:uuid:6af1e0c1-c441-47f8-a502-3efd46b1fa4f</Id>
   <AnnotationText>Created by libdcp</AnnotationText>
   <Creator>OpenDCP 0.0.25</Creator>
   <VolumeCount>1</VolumeCount>
@@ -8,11 +8,11 @@
   <Issuer>OpenDCP 0.0.25</Issuer>
   <AssetList>
     <Asset>
-      <Id>urn:uuid:ae8a9818-872a-4f86-8493-11dfdea03e09</Id>
+      <Id>urn:uuid:93182bd2-b1e8-41a3-b5c8-6e6564273bff</Id>
       <PackingList>true</PackingList>
       <ChunkList>
         <Chunk>
-          <Path>pkl_ae8a9818-872a-4f86-8493-11dfdea03e09.xml</Path>
+          <Path>pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
           <Length>1186</Length>
index d249b939e361071d50a5ef3960e01aa7fd7b4933..668ab05a97b5ba01ea61e28fbdf2e9bb96aefdd4 100644 (file)
Binary files a/test/ref/DCP/dcp_test2/audio.mxf and b/test/ref/DCP/dcp_test2/audio.mxf differ
index 26bc6caf80e5ef8effc4beb61d9f9ab6b941105a..fa7ce2299592c0ce3a8c00b5a0ef9bb7ede1186c 100644 (file)
@@ -14,7 +14,7 @@
   <RatingList/>
   <ReelList>
     <Reel>
-      <Id>urn:uuid:18be072e-5a0f-44e1-b2eb-c8a52ae12789</Id>
+      <Id>urn:uuid:793170e7-e913-404b-8942-1c7f2e5cf012</Id>
       <AssetList>
         <MainSound>
           <Id>urn:uuid:8b92bcee-62fc-4a33-a51a-816e9611ce85</Id>
@@ -23,7 +23,7 @@
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
-          <Hash>fnl4pJDAQk/xQ54W4R+l6S7PB7E=</Hash>
+          <Hash>ZONON+FxuDpU4nLiPCOiT4c/6qM=</Hash>
         </MainSound>
         <msp-cpl:MainStereoscopicPicture xmlns:msp-cpl="http://www.smpte-ra.org/schemas/429-10/2008/Main-Stereo-Picture-CPL">
           <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
diff --git a/test/ref/DCP/dcp_test2/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml b/test/ref/DCP/dcp_test2/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml
new file mode 100644 (file)
index 0000000..d7039a6
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
+  <Id>urn:uuid:93182bd2-b1e8-41a3-b5c8-6e6564273bff</Id>
+  <AnnotationText>Created by libdcp</AnnotationText>
+  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
+  <Issuer>OpenDCP 0.0.25</Issuer>
+  <Creator>OpenDCP 0.0.25</Creator>
+  <AssetList>
+    <Asset>
+      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
+      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
+      <Hash>S4F3eG0+QoiL/NMxwaS1KDxpico=</Hash>
+      <Size>1774</Size>
+      <Type>text/xml</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
+      <AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
+      <Hash>lec6UZZA9xqhKce9SXs0vvZASDs=</Hash>
+      <Size>63160</Size>
+      <Type>application/mxf</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:8b92bcee-62fc-4a33-a51a-816e9611ce85</Id>
+      <AnnotationText>8b92bcee-62fc-4a33-a51a-816e9611ce85</AnnotationText>
+      <Hash>ZONON+FxuDpU4nLiPCOiT4c/6qM=</Hash>
+      <Size>161326</Size>
+      <Type>application/mxf</Type>
+    </Asset>
+  </AssetList>
+</PackingList>
diff --git a/test/ref/DCP/dcp_test2/pkl_ae8a9818-872a-4f86-8493-11dfdea03e09.xml b/test/ref/DCP/dcp_test2/pkl_ae8a9818-872a-4f86-8493-11dfdea03e09.xml
deleted file mode 100644 (file)
index 29c9be0..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
-  <Id>urn:uuid:ae8a9818-872a-4f86-8493-11dfdea03e09</Id>
-  <AnnotationText>Created by libdcp</AnnotationText>
-  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
-  <Issuer>OpenDCP 0.0.25</Issuer>
-  <Creator>OpenDCP 0.0.25</Creator>
-  <AssetList>
-    <Asset>
-      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
-      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
-      <Hash>kXKqQAWnzfzo230TdOZh4tZ+z6A=</Hash>
-      <Size>1774</Size>
-      <Type>text/xml</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
-      <AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
-      <Hash>lec6UZZA9xqhKce9SXs0vvZASDs=</Hash>
-      <Size>63160</Size>
-      <Type>application/mxf</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:8b92bcee-62fc-4a33-a51a-816e9611ce85</Id>
-      <AnnotationText>8b92bcee-62fc-4a33-a51a-816e9611ce85</AnnotationText>
-      <Hash>fnl4pJDAQk/xQ54W4R+l6S7PB7E=</Hash>
-      <Size>161326</Size>
-      <Type>application/mxf</Type>
-    </Asset>
-  </AssetList>
-</PackingList>
index a0e91179a88c7e76004db0da3794a9503cb24d66..5f38e3b42bcf5d244ad79a126710636f4ed05f64 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <AssetMap xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM">
-  <Id>urn:uuid:48db27c3-4964-46a2-8b02-3e5570efb42d</Id>
+  <Id>urn:uuid:5d51e8a1-b2a5-4da6-9b66-4615c3609440</Id>
   <AnnotationText>Created by libdcp</AnnotationText>
   <Creator>OpenDCP 0.0.25</Creator>
   <VolumeCount>1</VolumeCount>
@@ -8,11 +8,11 @@
   <Issuer>OpenDCP 0.0.25</Issuer>
   <AssetList>
     <Asset>
-      <Id>urn:uuid:74e205d0-d145-42d2-8c49-7b55d058ca55</Id>
+      <Id>urn:uuid:6af1e0c1-c441-47f8-a502-3efd46b1fa4f</Id>
       <PackingList>true</PackingList>
       <ChunkList>
         <Chunk>
-          <Path>pkl_74e205d0-d145-42d2-8c49-7b55d058ca55.xml</Path>
+          <Path>pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
           <Length>1186</Length>
index 62158f3f17a7c9ce30301abb294847a07f25cf54..d7ec7a1c846d5828d7c64eb6f32675e7869a7672 100644 (file)
Binary files a/test/ref/DCP/dcp_test5/audio.mxf and b/test/ref/DCP/dcp_test5/audio.mxf differ
index c451b9a6d28d444b1ed83e59b1018c8b265f4187..b22ba9db253d7e284d4a3c0448cfbb91dd360be3 100644 (file)
@@ -14,7 +14,7 @@
   <RatingList/>
   <ReelList>
     <Reel>
-      <Id>urn:uuid:ae8a9818-872a-4f86-8493-11dfdea03e09</Id>
+      <Id>urn:uuid:93182bd2-b1e8-41a3-b5c8-6e6564273bff</Id>
       <AssetList>
         <MainPicture>
           <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
@@ -34,7 +34,7 @@
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
-          <Hash>ifmC1P7fjigb1oVxx6xs3Paz/GY=</Hash>
+          <Hash>9ShW4q2CmXpFRbtUsMrf/77aubg=</Hash>
         </MainSound>
         <axd:AuxData xmlns:axd="http://www.dolby.com/schemas/2012/AD">
           <Id>urn:uuid:b68febcc-5ddf-489a-84a7-924f29fa2afd</Id>
diff --git a/test/ref/DCP/dcp_test5/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml b/test/ref/DCP/dcp_test5/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml
new file mode 100644 (file)
index 0000000..8e03de3
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
+  <Id>urn:uuid:6af1e0c1-c441-47f8-a502-3efd46b1fa4f</Id>
+  <AnnotationText>Created by libdcp</AnnotationText>
+  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
+  <Issuer>OpenDCP 0.0.25</Issuer>
+  <Creator>OpenDCP 0.0.25</Creator>
+  <AssetList>
+    <Asset>
+      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
+      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
+      <Hash>Nw353MwKdHHogjXjQxh0KCcevG8=</Hash>
+      <Size>2156</Size>
+      <Type>text/xml</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
+      <AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
+      <Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>
+      <Size>40144</Size>
+      <Type>application/mxf</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:9482e87d-292d-4e0e-a98d-c61822b60fe9</Id>
+      <AnnotationText>9482e87d-292d-4e0e-a98d-c61822b60fe9</AnnotationText>
+      <Hash>9ShW4q2CmXpFRbtUsMrf/77aubg=</Hash>
+      <Size>161326</Size>
+      <Type>application/mxf</Type>
+    </Asset>
+  </AssetList>
+</PackingList>
diff --git a/test/ref/DCP/dcp_test5/pkl_74e205d0-d145-42d2-8c49-7b55d058ca55.xml b/test/ref/DCP/dcp_test5/pkl_74e205d0-d145-42d2-8c49-7b55d058ca55.xml
deleted file mode 100644 (file)
index 8f9708a..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
-  <Id>urn:uuid:74e205d0-d145-42d2-8c49-7b55d058ca55</Id>
-  <AnnotationText>Created by libdcp</AnnotationText>
-  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
-  <Issuer>OpenDCP 0.0.25</Issuer>
-  <Creator>OpenDCP 0.0.25</Creator>
-  <AssetList>
-    <Asset>
-      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
-      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
-      <Hash>ORDwkWVluXR+6a9ufu0rVqbrITU=</Hash>
-      <Size>2156</Size>
-      <Type>text/xml</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
-      <AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
-      <Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>
-      <Size>40144</Size>
-      <Type>application/mxf</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:9482e87d-292d-4e0e-a98d-c61822b60fe9</Id>
-      <AnnotationText>9482e87d-292d-4e0e-a98d-c61822b60fe9</AnnotationText>
-      <Hash>ifmC1P7fjigb1oVxx6xs3Paz/GY=</Hash>
-      <Size>161326</Size>
-      <Type>application/mxf</Type>
-    </Asset>
-  </AssetList>
-</PackingList>
index 58ef12795e4a75a53306d1e72b20e8aa579068b6..82ef52b43e2065a3947db68af72145f28c2719e4 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <AssetMap xmlns="http://www.digicine.com/PROTO-ASDCP-AM-20040311#">
-  <Id>urn:uuid:2b9b857f-ab4a-440e-a313-1ace0f1cfc95</Id>
+  <Id>urn:uuid:6af1e0c1-c441-47f8-a502-3efd46b1fa4f</Id>
   <AnnotationText>Created by libdcp</AnnotationText>
   <VolumeCount>1</VolumeCount>
   <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
@@ -8,11 +8,11 @@
   <Creator>OpenDCP 0.0.25</Creator>
   <AssetList>
     <Asset>
-      <Id>urn:uuid:63c3aece-c581-4603-b612-75e43f0c0430</Id>
+      <Id>urn:uuid:93182bd2-b1e8-41a3-b5c8-6e6564273bff</Id>
       <PackingList>true</PackingList>
       <ChunkList>
         <Chunk>
-          <Path>pkl_63c3aece-c581-4603-b612-75e43f0c0430.xml</Path>
+          <Path>pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
           <Length>1253</Length>
index 0b5a4459d90c37cd6f23cbc64c383d62a6f4e05a..068d6bfa46770aa752da05e2c9b5156cfeb1fce5 100644 (file)
Binary files a/test/ref/DCP/dcp_test7/audio.mxf and b/test/ref/DCP/dcp_test7/audio.mxf differ
index bb933d94612f8c71d2e471e0eb6a60d17c7847a9..1fffbbdc9e99761d0a816f6323156c0e75e7986f 100644 (file)
   <RatingList/>
   <ReelList>
     <Reel>
-      <Id>urn:uuid:48db27c3-4964-46a2-8b02-3e5570efb42d</Id>
+      <Id>urn:uuid:7b6616d2-9afe-4d54-a2bb-4f3f71ac6e0c</Id>
       <AssetList>
         <MainMarkers>
-          <Id>urn:uuid:cd49971e-bf4c-4594-8474-54ebef09a40c</Id>
+          <Id>urn:uuid:793170e7-e913-404b-8942-1c7f2e5cf012</Id>
           <AnnotationText></AnnotationText>
           <EditRate>24 1</EditRate>
           <IntrinsicDuration>24</IntrinsicDuration>
@@ -52,7 +52,7 @@
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
-          <Hash>qtXbkcwhUj/yqquVLmV+wbzbxQ8=</Hash>
+          <Hash>WU0/u1wM17y7Kriq06+65/ViX1o=</Hash>
         </MainSound>
       </AssetList>
     </Reel>
diff --git a/test/ref/DCP/dcp_test7/pkl_63c3aece-c581-4603-b612-75e43f0c0430.xml b/test/ref/DCP/dcp_test7/pkl_63c3aece-c581-4603-b612-75e43f0c0430.xml
deleted file mode 100644 (file)
index ae197d2..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<PackingList xmlns="http://www.digicine.com/PROTO-ASDCP-PKL-20040311#">
-  <Id>urn:uuid:63c3aece-c581-4603-b612-75e43f0c0430</Id>
-  <AnnotationText>Created by libdcp</AnnotationText>
-  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
-  <Issuer>OpenDCP 0.0.25</Issuer>
-  <Creator>OpenDCP 0.0.25</Creator>
-  <AssetList>
-    <Asset>
-      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
-      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
-      <Hash>4a5qu1Q918HGMSi/b5d30ZvlkIo=</Hash>
-      <Size>2168</Size>
-      <Type>text/xml;asdcpKind=CPL</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
-      <AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
-      <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
-      <Size>49240</Size>
-      <Type>application/x-smpte-mxf;asdcpKind=Picture</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:9482e87d-292d-4e0e-a98d-c61822b60fe9</Id>
-      <AnnotationText>9482e87d-292d-4e0e-a98d-c61822b60fe9</AnnotationText>
-      <Hash>qtXbkcwhUj/yqquVLmV+wbzbxQ8=</Hash>
-      <Size>881326</Size>
-      <Type>application/x-smpte-mxf;asdcpKind=Sound</Type>
-    </Asset>
-  </AssetList>
-</PackingList>
diff --git a/test/ref/DCP/dcp_test7/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml b/test/ref/DCP/dcp_test7/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml
new file mode 100644 (file)
index 0000000..37172a8
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PackingList xmlns="http://www.digicine.com/PROTO-ASDCP-PKL-20040311#">
+  <Id>urn:uuid:93182bd2-b1e8-41a3-b5c8-6e6564273bff</Id>
+  <AnnotationText>Created by libdcp</AnnotationText>
+  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
+  <Issuer>OpenDCP 0.0.25</Issuer>
+  <Creator>OpenDCP 0.0.25</Creator>
+  <AssetList>
+    <Asset>
+      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
+      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
+      <Hash>JgF8rDx3rauByV99k0D6Jm8WXYk=</Hash>
+      <Size>2168</Size>
+      <Type>text/xml;asdcpKind=CPL</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
+      <AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
+      <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
+      <Size>49240</Size>
+      <Type>application/x-smpte-mxf;asdcpKind=Picture</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:9482e87d-292d-4e0e-a98d-c61822b60fe9</Id>
+      <AnnotationText>9482e87d-292d-4e0e-a98d-c61822b60fe9</AnnotationText>
+      <Hash>WU0/u1wM17y7Kriq06+65/ViX1o=</Hash>
+      <Size>881326</Size>
+      <Type>application/x-smpte-mxf;asdcpKind=Sound</Type>
+    </Asset>
+  </AssetList>
+</PackingList>
index 0fc7ea3c1c4cac83d1c7b7dd9e315561780a6b28..5d5abd310b5b8771440752a4e4506d219d207535 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <AssetMap xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM">
-  <Id>urn:uuid:6af1e0c1-c441-47f8-a502-3efd46b1fa4f</Id>
+  <Id>urn:uuid:8ee8f7da-8da2-4adb-ae0e-31e8f4b91900</Id>
   <AnnotationText>Created by libdcp</AnnotationText>
   <Creator>OpenDCP 0.0.25</Creator>
   <VolumeCount>1</VolumeCount>
@@ -8,11 +8,11 @@
   <Issuer>OpenDCP 0.0.25</Issuer>
   <AssetList>
     <Asset>
-      <Id>urn:uuid:93182bd2-b1e8-41a3-b5c8-6e6564273bff</Id>
+      <Id>urn:uuid:627ad740-ae36-4c49-92bb-553a9f09c4f8</Id>
       <PackingList>true</PackingList>
       <ChunkList>
         <Chunk>
-          <Path>pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml</Path>
+          <Path>pkl_627ad740-ae36-4c49-92bb-553a9f09c4f8.xml</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
           <Length>8708</Length>
index 2e12edabcca6b96a14d022755b4392ef72489afe..8cd47238a83ddb3fa0cad6be57be42f18cd0881e 100644 (file)
Binary files a/test/ref/DCP/encryption_test/audio.mxf and b/test/ref/DCP/encryption_test/audio.mxf differ
index 68cbfc3ca844395e2352da8940dba18818a04f45..75df0698ed6c862974045b6362d893cbb152253d 100644 (file)
@@ -14,7 +14,7 @@
   <RatingList/>
   <ReelList>
     <Reel>
-      <Id>urn:uuid:793170e7-e913-404b-8942-1c7f2e5cf012</Id>
+      <Id>urn:uuid:8163cee0-47d4-420b-89c3-56b463dfe0ea</Id>
       <AssetList>
         <MainPicture>
           <Id>urn:uuid:46c3eb45-15e5-47d6-8684-d8641e4dc516</Id>
@@ -36,7 +36,7 @@
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
           <KeyId>urn:uuid:4c80356c-e9ac-4d81-b8fd-4806055c956d</KeyId>
-          <Hash>h7XEYV80a8CvQ5wS1OR3ldbkLM4=</Hash>
+          <Hash>EEDaX1Q/g01lnOaiBXTs2U/YwoE=</Hash>
         </MainSound>
       </AssetList>
     </Reel>
           <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
         </dsig:Transforms>
         <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-        <dsig:DigestValue>iD8Ymjnr9rPqMbqKUDG7oU7skHQ=</dsig:DigestValue>
+        <dsig:DigestValue>QUo8sU6tBIEW/UmipmSWqOrek8o=</dsig:DigestValue>
       </dsig:Reference>
     </dsig:SignedInfo>
-    <dsig:SignatureValue>FXjNzzQcLTIDVTDTLyn8lUkZR01OuER02Va21Pq+OFMtFedTfAOfeTizDmAFpFNp
-C5PP2+zGAqJ6gDipheZMWtzNARmejtxeyV9Q7BkNjEnkev5vD4XMJBaPfAR5Cod/
-jI0syYr8vaQ3jxz/86FqTkwHWK/ZJWy3LCjxXOcy6pTEA5KifCRVrl7hWXgcefV0
-u1Yq1/3RjdINOhing771S2n6eKR6kJOMe/o/5OQKtLRUPc3qlcpwF8e8AhVb6Mb/
-qrgwx4U5oU7R0KnEdWe5nuYc+ufD/NDzx/lMSTSMmkIg20AAJZw9MnuSftvztsXp
-xlCj65UtHYm0yTitP4VQTg==</dsig:SignatureValue>
+    <dsig:SignatureValue>kdDLoyAdkz/YCWI+xuXOeMin1ozxKeqwc5EZ+JaNfqo/wfwMIjH57Cia2mlShDdM
+vu6Tv/92nN9tlUjwXGnOmclRI88yTUqMF92muYtHZBLuGHiRfrrMzrnOwEdHNKyL
+LO1r5NLLNYUtmCP5Lj5s6HvJOTc3MnSZvYEgwh7cvc3+OOl+FGJ4CNJXhe3c0jDx
+1FIXoA2E5vX9XikSN963GoeGE0BgSOucxlOLWE6AxGz9V1SzMG+UtmhucKOAEmUe
+T5cvEz1VanRCl2h78SZ2AQJ4qKzIN4J7m0T3zgtbA6XbIMQkit50COlcMlfM8k/x
+9aMzdViTCGZx62hr3aKuXg==</dsig:SignatureValue>
     <dsig:KeyInfo>
       <dsig:X509Data>
         <dsig:X509IssuerSerial>
diff --git a/test/ref/DCP/encryption_test/pkl_627ad740-ae36-4c49-92bb-553a9f09c4f8.xml b/test/ref/DCP/encryption_test/pkl_627ad740-ae36-4c49-92bb-553a9f09c4f8.xml
new file mode 100644 (file)
index 0000000..eedb2c3
--- /dev/null
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
+  <Id>urn:uuid:627ad740-ae36-4c49-92bb-553a9f09c4f8</Id>
+  <AnnotationText>Created by libdcp</AnnotationText>
+  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
+  <Issuer>OpenDCP 0.0.25</Issuer>
+  <Creator>OpenDCP 0.0.25</Creator>
+  <AssetList>
+    <Asset>
+      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
+      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
+      <Hash>Ed7kJy32YUYb6R3OgfmsTHQqA8g=</Hash>
+      <Size>9314</Size>
+      <Type>text/xml</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:46c3eb45-15e5-47d6-8684-d8641e4dc516</Id>
+      <AnnotationText>46c3eb45-15e5-47d6-8684-d8641e4dc516</AnnotationText>
+      <Hash>8QplPzmat0gpqa6CJEFPxUoyHTw=</Hash>
+      <Size>44032</Size>
+      <Type>application/mxf</Type>
+    </Asset>
+    <Asset>
+      <Id>urn:uuid:d5f633d3-cb6e-4c04-85ae-4b2da9422852</Id>
+      <AnnotationText>d5f633d3-cb6e-4c04-85ae-4b2da9422852</AnnotationText>
+      <Hash>EEDaX1Q/g01lnOaiBXTs2U/YwoE=</Hash>
+      <Size>165454</Size>
+      <Type>application/mxf</Type>
+    </Asset>
+  </AssetList>
+  <Signer xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+    <dsig:X509Data>
+      <dsig:X509IssuerSerial>
+        <dsig:X509IssuerName>dnQualifier=6eat8r33US71avuQEojmH\+bjk84=,CN=.smpte-430-2.INTERMEDIATE.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509IssuerName>
+        <dsig:X509SerialNumber>7</dsig:X509SerialNumber>
+      </dsig:X509IssuerSerial>
+      <dsig:X509SubjectName>dnQualifier=QFVlym7fuql6bPOnY38aaO1ZPW4=,CN=CS.smpte-430-2.LEAF.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509SubjectName>
+    </dsig:X509Data>
+  </Signer>
+  <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+    <dsig:SignedInfo>
+      <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
+      <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
+      <dsig:Reference URI="">
+        <dsig:Transforms>
+          <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+        </dsig:Transforms>
+        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+        <dsig:DigestValue>la1WkKlDHSnQaB3zHH5+PQpX4Fw=</dsig:DigestValue>
+      </dsig:Reference>
+    </dsig:SignedInfo>
+    <dsig:SignatureValue>bpjVzbqD1bfIJNrkfBvH9bDfnQqXid+SP9tqUChKrnhE9j3Xc6ZknaZpDzrOhrdF
+y948HIBkF3vwayUwp5XMaupQn4iBmi1eIE/znAYQ8mrdRslBbV99QWnrHOL+BxGc
+Kgyuz6QfbHp1JxBpt89bjnuOxRNPJrVpEJ9mk/P4Tm8a0/boF5yIDyt+rlBeRyRo
+hblyii/cNg8aX44s4+IHxDa5L4EK2vwsDZM+nzQYaN4Rtn2wWSKEExBDZBOIuA5n
+fQghDr48UXjqlHe2/aBsKv8umgGHrYiOucoIuhf1Ik53fKjvY5cNjNYTH8ad7Q0b
+vqRAsTBEF0z/AOeiCBD3Nw==</dsig:SignatureValue>
+    <dsig:KeyInfo>
+      <dsig:X509Data>
+        <dsig:X509IssuerSerial>
+          <dsig:X509IssuerName>dnQualifier=6eat8r33US71avuQEojmH\+bjk84=,CN=.smpte-430-2.INTERMEDIATE.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509IssuerName>
+          <dsig:X509SerialNumber>7</dsig:X509SerialNumber>
+        </dsig:X509IssuerSerial>
+        <dsig:X509Certificate>MIIEezCCA2OgAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBijEUMBIGA1UEChMLZXhh
+bXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUub3JnMTUwMwYDVQQDFCwuc21wdGUt
+NDMwLTIuSU5URVJNRURJQVRFLk5PVF9GT1JfUFJPRFVDVElPTjElMCMGA1UELhMc
+NmVhdDhyMzNVUzcxYXZ1UUVvam1IK2Jqazg0PTAeFw0xNTA2MDUxMzIwMDhaFw0y
+NTA1MzExMzIwMDhaMIGEMRQwEgYDVQQKEwtleGFtcGxlLm9yZzEUMBIGA1UECxML
+ZXhhbXBsZS5vcmcxLzAtBgNVBAMUJkNTLnNtcHRlLTQzMC0yLkxFQUYuTk9UX0ZP
+Ul9QUk9EVUNUSU9OMSUwIwYDVQQuExxRRlZseW03ZnVxbDZiUE9uWTM4YWFPMVpQ
+VzQ9MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA08vRdRvUh31Oi96E
+GHqfmYs2GhxKS7Y1AJpVGjPWQyZFYkwspzG9voK6rMbnXEQ5HRDJ0jZ5DaxS7zrm
+YIOsX6DQpl2kY8MTHXmWZFg623HID+XAowFqkTG7UtUpXsZ/vj+gOKu0PQPmdRLM
+Rg5Hs2yQxSS7/SizuG52CrAmsIeab9u/AOL10uLRmUBzLMaXt4uPz2i+3PXi+uVu
+lfy3tEQ3+QRNNsH2G6O6sURR+4nYB0cLLlINpHTdBixfGU/Eb9g/wpD3zrGcAV6Z
+XvxULNd4RcxH8Ys15QuvtdMGwW/8LW1/03WO5XeQRkcoPF44yV4XUeTE5weXYAaM
+ZH7hMwIDAQABo4HvMIHsMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgWgMB0GA1Ud
+DgQWBBRAVWXKbt+6qXps86djfxpo7Vk9bjCBrwYDVR0jBIGnMIGkgBTp5q3yvfdR
+LvVq+5ASiOYf5uOTzqGBiKSBhTCBgjEUMBIGA1UEChMLZXhhbXBsZS5vcmcxFDAS
+BgNVBAsTC2V4YW1wbGUub3JnMS0wKwYDVQQDFCQuc21wdGUtNDMwLTIuUk9PVC5O
+T1RfRk9SX1BST0RVQ1RJT04xJTAjBgNVBC4THERDblJkSEZiY3Y0QU5WVXEyK3dN
+VkFMRlNlYz2CAQYwDQYJKoZIhvcNAQELBQADggEBAA4CsCDn8UKBcH7wroorNKbf
+ZVzwGSxNyCMTmDm38ZmriNpV7FCNTLek4xmf21ITafC9nNxpbWA7l9bG5dRnktwa
+JSlHZKDKKVEUHJYu/47YUlmt4YNVo+zN0iB/QLXoHu6yGw3/N7z4sBDyLGGPl5mh
+sAxuXpFr1ruTQVqx483L7ie/p0GV9vsoAJQTRTnIcvEs7rVHxIWEsiOE8AZozW72
+jIBKSy9jsxSGYgmMgbdkrs5c2hBvVim5i58PIzSCo/lI/5WRREESZIyZ9zIBSwIS
+cYueAupiCrOxzY6Xg3GZlMbbHElp4MnDeV3zv90UAuZXomorCOcnutqUe36J63E=</dsig:X509Certificate>
+      </dsig:X509Data>
+      <dsig:X509Data>
+        <dsig:X509IssuerSerial>
+          <dsig:X509IssuerName>dnQualifier=DCnRdHFbcv4ANVUq2\+wMVALFSec=,CN=.smpte-430-2.ROOT.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509IssuerName>
+          <dsig:X509SerialNumber>6</dsig:X509SerialNumber>
+        </dsig:X509IssuerSerial>
+        <dsig:X509Certificate>MIIEfzCCA2egAwIBAgIBBjANBgkqhkiG9w0BAQsFADCBgjEUMBIGA1UEChMLZXhh
+bXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUub3JnMS0wKwYDVQQDFCQuc21wdGUt
+NDMwLTIuUk9PVC5OT1RfRk9SX1BST0RVQ1RJT04xJTAjBgNVBC4THERDblJkSEZi
+Y3Y0QU5WVXEyK3dNVkFMRlNlYz0wHhcNMTUwNjA1MTMyMDA4WhcNMjUwNjAxMTMy
+MDA4WjCBijEUMBIGA1UEChMLZXhhbXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUu
+b3JnMTUwMwYDVQQDFCwuc21wdGUtNDMwLTIuSU5URVJNRURJQVRFLk5PVF9GT1Jf
+UFJPRFVDVElPTjElMCMGA1UELhMcNmVhdDhyMzNVUzcxYXZ1UUVvam1IK2Jqazg0
+PTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMjv758HrPTeThATXaFU
+JCyUlGbLxETJQ2lqXx5a9XL/FDNsMN11IZ9hhUfj/KV2aNDYJ2nsaInAeZ00kNgG
+OOPAqF0KainrO4vlYQB10nwcmfvI/BtqW4GFXBDYpIXvyF7ss4e4Zp52h+UVkfTY
+Dwf10W7vP8Gr1wKaIvFsuGbB35D3PfX+4lacF2cNMFSHLj+oiLug5vOpoo/QTS+o
+gBl2mGctSLaEBE9x/HO10Dy7WXrUpokPGcHhJzwOlbAnVt6X4kANVATf5ffy0UQE
+uROgsSUm+hK/HqmUXTE6Gy7Hi7sktdI6X3EnBdzse1vxNQTrKy6bMXswcgOkklnk
+5AECAwEAAaOB9TCB8jASBgNVHRMBAf8ECDAGAQH/AgECMAsGA1UdDwQEAwIBBjAd
+BgNVHQ4EFgQU6eat8r33US71avuQEojmH+bjk84wga8GA1UdIwSBpzCBpIAUDCnR
+dHFbcv4ANVUq2+wMVALFSeehgYikgYUwgYIxFDASBgNVBAoTC2V4YW1wbGUub3Jn
+MRQwEgYDVQQLEwtleGFtcGxlLm9yZzEtMCsGA1UEAxQkLnNtcHRlLTQzMC0yLlJP
+T1QuTk9UX0ZPUl9QUk9EVUNUSU9OMSUwIwYDVQQuExxEQ25SZEhGYmN2NEFOVlVx
+Mit3TVZBTEZTZWM9ggEFMA0GCSqGSIb3DQEBCwUAA4IBAQBGr/uVKvBE7yGcPdOG
+AaacD8zmEkb8BL+otrumW1BqAI0BIVghvuTDAKtk/cFy7Mbnnp/mTJ6h5F7lDON4
+YVBQ9gouw5+pLM61r/ZTF+shiWA4C4cwWb1X/gw82TXD2wXch9IJmcblrfrabHkB
+Y3wyyn5unqHm+uy/ZsNzoTmRcrxnPua5DyZKxGBHV0TEDzJMUMgluRcQwRs0HmG1
+vWeROkXRWyYiY2QAdpINuQUKUqjtFTtOGcA3I/Hd7vUiqqxNr9fL0H/HDvAbEmIw
++YSFJ9uFyESvls8Lv5tydwhnqJBIKk19/CDIwMAPZnyT1WT3XwnD5hVRYljpgjm5
+xwd0</dsig:X509Certificate>
+      </dsig:X509Data>
+      <dsig:X509Data>
+        <dsig:X509IssuerSerial>
+          <dsig:X509IssuerName>dnQualifier=DCnRdHFbcv4ANVUq2\+wMVALFSec=,CN=.smpte-430-2.ROOT.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509IssuerName>
+          <dsig:X509SerialNumber>5</dsig:X509SerialNumber>
+        </dsig:X509IssuerSerial>
+        <dsig:X509Certificate>MIIEdzCCA1+gAwIBAgIBBTANBgkqhkiG9w0BAQsFADCBgjEUMBIGA1UEChMLZXhh
+bXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUub3JnMS0wKwYDVQQDFCQuc21wdGUt
+NDMwLTIuUk9PVC5OT1RfRk9SX1BST0RVQ1RJT04xJTAjBgNVBC4THERDblJkSEZi
+Y3Y0QU5WVXEyK3dNVkFMRlNlYz0wHhcNMTUwNjA1MTMyMDA4WhcNMjUwNjAyMTMy
+MDA4WjCBgjEUMBIGA1UEChMLZXhhbXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUu
+b3JnMS0wKwYDVQQDFCQuc21wdGUtNDMwLTIuUk9PVC5OT1RfRk9SX1BST0RVQ1RJ
+T04xJTAjBgNVBC4THERDblJkSEZiY3Y0QU5WVXEyK3dNVkFMRlNlYz0wggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDQdNLi0U0p9kkfszAymkW4fVTqG4KZ
+qNlO43eE4+ItjTr0qDEvyyq94tp2w1/7aag87Nzb386ibqFzldEt3u8xy9CXanUy
+Fg2vRzAJ+WgngmK8AdzHqdPzYTtIdMNj0GQkF+ze0VLM1QfAGUvsRzcqYJADD9om
+vsOnZiub92ezbL5swLaLpZq10i2HGYqDZxKlcslmaVXPgh7acmI9b3ledpLjOtvR
+NPI6tfy8jhjvCZY81+V5iZqyKTezrLTqqgNBlFjzIdCT1BRlbOlS55iOloRK8q9F
+TXqV6M1jqN6T4FlKzorjYWNEKp1V58DHBosAB0FXs+Sc10WWTuqL9Q3VAgMBAAGj
+gfUwgfIwEgYDVR0TAQH/BAgwBgEB/wIBAzALBgNVHQ8EBAMCAQYwHQYDVR0OBBYE
+FAwp0XRxW3L+ADVVKtvsDFQCxUnnMIGvBgNVHSMEgacwgaSAFAwp0XRxW3L+ADVV
+KtvsDFQCxUnnoYGIpIGFMIGCMRQwEgYDVQQKEwtleGFtcGxlLm9yZzEUMBIGA1UE
+CxMLZXhhbXBsZS5vcmcxLTArBgNVBAMUJC5zbXB0ZS00MzAtMi5ST09ULk5PVF9G
+T1JfUFJPRFVDVElPTjElMCMGA1UELhMcRENuUmRIRmJjdjRBTlZVcTIrd01WQUxG
+U2VjPYIBBTANBgkqhkiG9w0BAQsFAAOCAQEAEOGcZTz1XGfZunxCnclrNDDsgLhy
+RvqxG7Li7enVyKF5798ckA17jCnkY/W9YwtjpgfEpjw9aGdCy6cviNu51jT5F9qg
+y0O2OXhtX47aS9G6r1m50cBmrciBxrqSTr6/co6jcRImRhTpvVcLcbv3emCLogBw
+9v93abXvbT+GZ6yc2OOArTZCFlrLW8XTDSDrPp/hida2NjZOrxJj6iFEh6+M+S7Z
+T/bwFNfuPDsDhtccoVt/hIM0imFnjKlwbo3HbJ3v+Lhy2oUS66d5ELHuuQnMuKFT
+pxf6/gl42q4gFbwBDp6jxy5L1J4LZGZIwsoTv6dFjo1MNttqmfMTheiwpQ==</dsig:X509Certificate>
+      </dsig:X509Data>
+    </dsig:KeyInfo>
+  </dsig:Signature>
+</PackingList>
diff --git a/test/ref/DCP/encryption_test/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml b/test/ref/DCP/encryption_test/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml
deleted file mode 100644 (file)
index 0dcc954..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
-  <Id>urn:uuid:93182bd2-b1e8-41a3-b5c8-6e6564273bff</Id>
-  <AnnotationText>Created by libdcp</AnnotationText>
-  <IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
-  <Issuer>OpenDCP 0.0.25</Issuer>
-  <Creator>OpenDCP 0.0.25</Creator>
-  <AssetList>
-    <Asset>
-      <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
-      <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
-      <Hash>dinpjeGyswCuE6wwc4qNO6QgZ4M=</Hash>
-      <Size>9314</Size>
-      <Type>text/xml</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:46c3eb45-15e5-47d6-8684-d8641e4dc516</Id>
-      <AnnotationText>46c3eb45-15e5-47d6-8684-d8641e4dc516</AnnotationText>
-      <Hash>8QplPzmat0gpqa6CJEFPxUoyHTw=</Hash>
-      <Size>44032</Size>
-      <Type>application/mxf</Type>
-    </Asset>
-    <Asset>
-      <Id>urn:uuid:d5f633d3-cb6e-4c04-85ae-4b2da9422852</Id>
-      <AnnotationText>d5f633d3-cb6e-4c04-85ae-4b2da9422852</AnnotationText>
-      <Hash>h7XEYV80a8CvQ5wS1OR3ldbkLM4=</Hash>
-      <Size>165454</Size>
-      <Type>application/mxf</Type>
-    </Asset>
-  </AssetList>
-  <Signer xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-    <dsig:X509Data>
-      <dsig:X509IssuerSerial>
-        <dsig:X509IssuerName>dnQualifier=6eat8r33US71avuQEojmH\+bjk84=,CN=.smpte-430-2.INTERMEDIATE.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509IssuerName>
-        <dsig:X509SerialNumber>7</dsig:X509SerialNumber>
-      </dsig:X509IssuerSerial>
-      <dsig:X509SubjectName>dnQualifier=QFVlym7fuql6bPOnY38aaO1ZPW4=,CN=CS.smpte-430-2.LEAF.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509SubjectName>
-    </dsig:X509Data>
-  </Signer>
-  <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-    <dsig:SignedInfo>
-      <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
-      <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
-      <dsig:Reference URI="">
-        <dsig:Transforms>
-          <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
-        </dsig:Transforms>
-        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-        <dsig:DigestValue>Dd1k2K/go3w7qxoIEyRjKQnt3sQ=</dsig:DigestValue>
-      </dsig:Reference>
-    </dsig:SignedInfo>
-    <dsig:SignatureValue>KXJAOlFxsZ+qWTwKllF9G8cREFb3LIGSLmCAUz5deK/vnTTex2hVR0fqCNS+q+Ck
-FutGIJqrJed061yRKl72Gae9/ocE84AAqN/Vfc9LnalD4P342nLfZGBBDvZcgk6c
-A7QV7L9y9cxeyNrXA/LPsg8IzhcSJjhi10eDAs6ESBL9iSzDT+wlEGBrwqQjjwhm
-fJjYUwP92pPwAGH/9SKs4o+JIU8urnRrSFj06JuXJi4vVdEIasKo20nsmpLklHQP
-iHPQriuhZlIvX7SOrVi4BctoOm68MbqcWurHzDcFKWQIVwpBq0Wezr1AZXGActfB
-AW9mhWPZes+FJR2Qe/OjCg==</dsig:SignatureValue>
-    <dsig:KeyInfo>
-      <dsig:X509Data>
-        <dsig:X509IssuerSerial>
-          <dsig:X509IssuerName>dnQualifier=6eat8r33US71avuQEojmH\+bjk84=,CN=.smpte-430-2.INTERMEDIATE.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509IssuerName>
-          <dsig:X509SerialNumber>7</dsig:X509SerialNumber>
-        </dsig:X509IssuerSerial>
-        <dsig:X509Certificate>MIIEezCCA2OgAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBijEUMBIGA1UEChMLZXhh
-bXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUub3JnMTUwMwYDVQQDFCwuc21wdGUt
-NDMwLTIuSU5URVJNRURJQVRFLk5PVF9GT1JfUFJPRFVDVElPTjElMCMGA1UELhMc
-NmVhdDhyMzNVUzcxYXZ1UUVvam1IK2Jqazg0PTAeFw0xNTA2MDUxMzIwMDhaFw0y
-NTA1MzExMzIwMDhaMIGEMRQwEgYDVQQKEwtleGFtcGxlLm9yZzEUMBIGA1UECxML
-ZXhhbXBsZS5vcmcxLzAtBgNVBAMUJkNTLnNtcHRlLTQzMC0yLkxFQUYuTk9UX0ZP
-Ul9QUk9EVUNUSU9OMSUwIwYDVQQuExxRRlZseW03ZnVxbDZiUE9uWTM4YWFPMVpQ
-VzQ9MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA08vRdRvUh31Oi96E
-GHqfmYs2GhxKS7Y1AJpVGjPWQyZFYkwspzG9voK6rMbnXEQ5HRDJ0jZ5DaxS7zrm
-YIOsX6DQpl2kY8MTHXmWZFg623HID+XAowFqkTG7UtUpXsZ/vj+gOKu0PQPmdRLM
-Rg5Hs2yQxSS7/SizuG52CrAmsIeab9u/AOL10uLRmUBzLMaXt4uPz2i+3PXi+uVu
-lfy3tEQ3+QRNNsH2G6O6sURR+4nYB0cLLlINpHTdBixfGU/Eb9g/wpD3zrGcAV6Z
-XvxULNd4RcxH8Ys15QuvtdMGwW/8LW1/03WO5XeQRkcoPF44yV4XUeTE5weXYAaM
-ZH7hMwIDAQABo4HvMIHsMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgWgMB0GA1Ud
-DgQWBBRAVWXKbt+6qXps86djfxpo7Vk9bjCBrwYDVR0jBIGnMIGkgBTp5q3yvfdR
-LvVq+5ASiOYf5uOTzqGBiKSBhTCBgjEUMBIGA1UEChMLZXhhbXBsZS5vcmcxFDAS
-BgNVBAsTC2V4YW1wbGUub3JnMS0wKwYDVQQDFCQuc21wdGUtNDMwLTIuUk9PVC5O
-T1RfRk9SX1BST0RVQ1RJT04xJTAjBgNVBC4THERDblJkSEZiY3Y0QU5WVXEyK3dN
-VkFMRlNlYz2CAQYwDQYJKoZIhvcNAQELBQADggEBAA4CsCDn8UKBcH7wroorNKbf
-ZVzwGSxNyCMTmDm38ZmriNpV7FCNTLek4xmf21ITafC9nNxpbWA7l9bG5dRnktwa
-JSlHZKDKKVEUHJYu/47YUlmt4YNVo+zN0iB/QLXoHu6yGw3/N7z4sBDyLGGPl5mh
-sAxuXpFr1ruTQVqx483L7ie/p0GV9vsoAJQTRTnIcvEs7rVHxIWEsiOE8AZozW72
-jIBKSy9jsxSGYgmMgbdkrs5c2hBvVim5i58PIzSCo/lI/5WRREESZIyZ9zIBSwIS
-cYueAupiCrOxzY6Xg3GZlMbbHElp4MnDeV3zv90UAuZXomorCOcnutqUe36J63E=</dsig:X509Certificate>
-      </dsig:X509Data>
-      <dsig:X509Data>
-        <dsig:X509IssuerSerial>
-          <dsig:X509IssuerName>dnQualifier=DCnRdHFbcv4ANVUq2\+wMVALFSec=,CN=.smpte-430-2.ROOT.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509IssuerName>
-          <dsig:X509SerialNumber>6</dsig:X509SerialNumber>
-        </dsig:X509IssuerSerial>
-        <dsig:X509Certificate>MIIEfzCCA2egAwIBAgIBBjANBgkqhkiG9w0BAQsFADCBgjEUMBIGA1UEChMLZXhh
-bXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUub3JnMS0wKwYDVQQDFCQuc21wdGUt
-NDMwLTIuUk9PVC5OT1RfRk9SX1BST0RVQ1RJT04xJTAjBgNVBC4THERDblJkSEZi
-Y3Y0QU5WVXEyK3dNVkFMRlNlYz0wHhcNMTUwNjA1MTMyMDA4WhcNMjUwNjAxMTMy
-MDA4WjCBijEUMBIGA1UEChMLZXhhbXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUu
-b3JnMTUwMwYDVQQDFCwuc21wdGUtNDMwLTIuSU5URVJNRURJQVRFLk5PVF9GT1Jf
-UFJPRFVDVElPTjElMCMGA1UELhMcNmVhdDhyMzNVUzcxYXZ1UUVvam1IK2Jqazg0
-PTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMjv758HrPTeThATXaFU
-JCyUlGbLxETJQ2lqXx5a9XL/FDNsMN11IZ9hhUfj/KV2aNDYJ2nsaInAeZ00kNgG
-OOPAqF0KainrO4vlYQB10nwcmfvI/BtqW4GFXBDYpIXvyF7ss4e4Zp52h+UVkfTY
-Dwf10W7vP8Gr1wKaIvFsuGbB35D3PfX+4lacF2cNMFSHLj+oiLug5vOpoo/QTS+o
-gBl2mGctSLaEBE9x/HO10Dy7WXrUpokPGcHhJzwOlbAnVt6X4kANVATf5ffy0UQE
-uROgsSUm+hK/HqmUXTE6Gy7Hi7sktdI6X3EnBdzse1vxNQTrKy6bMXswcgOkklnk
-5AECAwEAAaOB9TCB8jASBgNVHRMBAf8ECDAGAQH/AgECMAsGA1UdDwQEAwIBBjAd
-BgNVHQ4EFgQU6eat8r33US71avuQEojmH+bjk84wga8GA1UdIwSBpzCBpIAUDCnR
-dHFbcv4ANVUq2+wMVALFSeehgYikgYUwgYIxFDASBgNVBAoTC2V4YW1wbGUub3Jn
-MRQwEgYDVQQLEwtleGFtcGxlLm9yZzEtMCsGA1UEAxQkLnNtcHRlLTQzMC0yLlJP
-T1QuTk9UX0ZPUl9QUk9EVUNUSU9OMSUwIwYDVQQuExxEQ25SZEhGYmN2NEFOVlVx
-Mit3TVZBTEZTZWM9ggEFMA0GCSqGSIb3DQEBCwUAA4IBAQBGr/uVKvBE7yGcPdOG
-AaacD8zmEkb8BL+otrumW1BqAI0BIVghvuTDAKtk/cFy7Mbnnp/mTJ6h5F7lDON4
-YVBQ9gouw5+pLM61r/ZTF+shiWA4C4cwWb1X/gw82TXD2wXch9IJmcblrfrabHkB
-Y3wyyn5unqHm+uy/ZsNzoTmRcrxnPua5DyZKxGBHV0TEDzJMUMgluRcQwRs0HmG1
-vWeROkXRWyYiY2QAdpINuQUKUqjtFTtOGcA3I/Hd7vUiqqxNr9fL0H/HDvAbEmIw
-+YSFJ9uFyESvls8Lv5tydwhnqJBIKk19/CDIwMAPZnyT1WT3XwnD5hVRYljpgjm5
-xwd0</dsig:X509Certificate>
-      </dsig:X509Data>
-      <dsig:X509Data>
-        <dsig:X509IssuerSerial>
-          <dsig:X509IssuerName>dnQualifier=DCnRdHFbcv4ANVUq2\+wMVALFSec=,CN=.smpte-430-2.ROOT.NOT_FOR_PRODUCTION,OU=example.org,O=example.org</dsig:X509IssuerName>
-          <dsig:X509SerialNumber>5</dsig:X509SerialNumber>
-        </dsig:X509IssuerSerial>
-        <dsig:X509Certificate>MIIEdzCCA1+gAwIBAgIBBTANBgkqhkiG9w0BAQsFADCBgjEUMBIGA1UEChMLZXhh
-bXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUub3JnMS0wKwYDVQQDFCQuc21wdGUt
-NDMwLTIuUk9PVC5OT1RfRk9SX1BST0RVQ1RJT04xJTAjBgNVBC4THERDblJkSEZi
-Y3Y0QU5WVXEyK3dNVkFMRlNlYz0wHhcNMTUwNjA1MTMyMDA4WhcNMjUwNjAyMTMy
-MDA4WjCBgjEUMBIGA1UEChMLZXhhbXBsZS5vcmcxFDASBgNVBAsTC2V4YW1wbGUu
-b3JnMS0wKwYDVQQDFCQuc21wdGUtNDMwLTIuUk9PVC5OT1RfRk9SX1BST0RVQ1RJ
-T04xJTAjBgNVBC4THERDblJkSEZiY3Y0QU5WVXEyK3dNVkFMRlNlYz0wggEiMA0G
-CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDQdNLi0U0p9kkfszAymkW4fVTqG4KZ
-qNlO43eE4+ItjTr0qDEvyyq94tp2w1/7aag87Nzb386ibqFzldEt3u8xy9CXanUy
-Fg2vRzAJ+WgngmK8AdzHqdPzYTtIdMNj0GQkF+ze0VLM1QfAGUvsRzcqYJADD9om
-vsOnZiub92ezbL5swLaLpZq10i2HGYqDZxKlcslmaVXPgh7acmI9b3ledpLjOtvR
-NPI6tfy8jhjvCZY81+V5iZqyKTezrLTqqgNBlFjzIdCT1BRlbOlS55iOloRK8q9F
-TXqV6M1jqN6T4FlKzorjYWNEKp1V58DHBosAB0FXs+Sc10WWTuqL9Q3VAgMBAAGj
-gfUwgfIwEgYDVR0TAQH/BAgwBgEB/wIBAzALBgNVHQ8EBAMCAQYwHQYDVR0OBBYE
-FAwp0XRxW3L+ADVVKtvsDFQCxUnnMIGvBgNVHSMEgacwgaSAFAwp0XRxW3L+ADVV
-KtvsDFQCxUnnoYGIpIGFMIGCMRQwEgYDVQQKEwtleGFtcGxlLm9yZzEUMBIGA1UE
-CxMLZXhhbXBsZS5vcmcxLTArBgNVBAMUJC5zbXB0ZS00MzAtMi5ST09ULk5PVF9G
-T1JfUFJPRFVDVElPTjElMCMGA1UELhMcRENuUmRIRmJjdjRBTlZVcTIrd01WQUxG
-U2VjPYIBBTANBgkqhkiG9w0BAQsFAAOCAQEAEOGcZTz1XGfZunxCnclrNDDsgLhy
-RvqxG7Li7enVyKF5798ckA17jCnkY/W9YwtjpgfEpjw9aGdCy6cviNu51jT5F9qg
-y0O2OXhtX47aS9G6r1m50cBmrciBxrqSTr6/co6jcRImRhTpvVcLcbv3emCLogBw
-9v93abXvbT+GZ6yc2OOArTZCFlrLW8XTDSDrPp/hida2NjZOrxJj6iFEh6+M+S7Z
-T/bwFNfuPDsDhtccoVt/hIM0imFnjKlwbo3HbJ3v+Lhy2oUS66d5ELHuuQnMuKFT
-pxf6/gl42q4gFbwBDp6jxy5L1J4LZGZIwsoTv6dFjo1MNttqmfMTheiwpQ==</dsig:X509Certificate>
-      </dsig:X509Data>
-    </dsig:KeyInfo>
-  </dsig:Signature>
-</PackingList>
index 3d6570b7cead7de32626c9f2c2630de7c4bbf825..79e678b52a7fce97943ceb65343434a778f3938b 100644 (file)
@@ -109,7 +109,7 @@ BOOST_AUTO_TEST_CASE (sync_test1)
                }
        }
 
-       shared_ptr<dcp::SoundAssetWriter> writer = asset.start_write ("build/test/foo.mxf", vector<dcp::Channel>(), true);
+       shared_ptr<dcp::SoundAssetWriter> writer = asset.start_write ("build/test/foo.mxf", true);
 
        /* Compare the sync bits made by SoundAssetWriter to the "proper" ones in the MXF */
        BOOST_CHECK (ref == writer->create_sync_packets());
@@ -124,7 +124,7 @@ BOOST_AUTO_TEST_CASE (sync_test2)
        asset._id = "e004046e09234f90a4ae4355e7e83506";
        boost::system::error_code ec;
        boost::filesystem::remove ("build/test/foo.mxf", ec);
-       shared_ptr<dcp::SoundAssetWriter> writer = asset.start_write ("build/test/foo.mxf", vector<dcp::Channel>(), true);
+       auto writer = asset.start_write ("build/test/foo.mxf", true);
 
        int const frames = 2000;
        float** junk = new float*[channels];
index 1f12bee4fcebd8dff0fb3c771f82fb3c5e9a802f..79706bf8fc533dd7059505a5ef4018cfcc60c714 100644 (file)
@@ -293,9 +293,7 @@ simple_sound (boost::filesystem::path path, string suffix, dcp::MXFMetadata mxf_
        shared_ptr<dcp::SoundAsset> ms (new dcp::SoundAsset(dcp::Fraction(24, 1), sample_rate, channels, dcp::LanguageTag("en-US"), dcp::Standard::SMPTE));
        ms->_language = language;
        ms->set_metadata (mxf_meta);
-       vector<dcp::Channel> active_channels;
-       active_channels.push_back (dcp::Channel::LEFT);
-       shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write (path / dcp::String::compose("audio%1.mxf", suffix), active_channels);
+       shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write (path / dcp::String::compose("audio%1.mxf", suffix));
 
        int const samples_per_frame = sample_rate / 24;
 
index 80e985e59b03bf93a9635413848ce231abe4bd0c..cb7c539d6e525a56eefebd61864636f6f156fb6d 100644 (file)
@@ -71,9 +71,13 @@ using std::shared_ptr;
 
 
 static list<pair<string, optional<path>>> stages;
-static string const dcp_test1_pkl = "pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml";
+static string const dcp_test1_pkl_id = "6af1e0c1-c441-47f8-a502-3efd46b1fa4f";
+static string const dcp_test1_pkl = "pkl_" + dcp_test1_pkl_id + ".xml";
 static string const dcp_test1_cpl_id = "81fb54df-e1bf-4647-8788-ea7ba154375b";
 static string const dcp_test1_cpl = "cpl_" + dcp_test1_cpl_id + ".xml";
+static string const dcp_test1_asset_map_id = "5d51e8a1-b2a5-4da6-9b66-4615c3609440";
+static string const encryption_test_cpl_id = "81fb54df-e1bf-4647-8788-ea7ba154375b";
+static string const encryption_test_pkl_id = "627ad740-ae36-4c49-92bb-553a9f09c4f8";
 
 static void
 stage (string s, optional<path> p)
@@ -334,9 +338,9 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_picture_sound_hashes)
                        { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::MISMATCHED_CPL_HASHES, dcp_test1_cpl_id, canonical(dir / dcp_test1_cpl) },
                        { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::MISMATCHED_PICTURE_HASHES, canonical(dir / "video.mxf") },
                        { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::MISMATCHED_SOUND_HASHES, canonical(dir / "audio.mxf") },
-                       { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xX3bMCBdXEOYEpYmsConNWrWUAGs=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 12 },
+                       { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xSEEi70vx1WQs67bmu2zKvzIkXvY=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 12 },
                        { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xaddO7je2lZSNQp55qjCWo5DLKFQ=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 19 },
-                       { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xqtXbkcwhUj/yqquVLmV+wbzbxQ8=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 26 }
+                       { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xWU0/u1wM17y7Kriq06+65/ViX1o=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 26 }
                });
 }
 
@@ -455,7 +459,8 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_pkl_id)
 {
        check_verify_result_after_replace (
                "invalid_xml_pkl_id", &pkl,
-               "<Id>urn:uuid:2b9", "<Id>urn:uuid:xb9",
+               "<Id>urn:uuid:" + dcp_test1_pkl_id.substr(0, 3),
+               "<Id>urn:uuid:x" + dcp_test1_pkl_id.substr(1, 2),
                { dcp::VerificationNote::Code::INVALID_XML }
                );
 }
@@ -465,7 +470,8 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_asset_map_id)
 {
        check_verify_result_after_replace (
                "invalix_xml_asset_map_id", &asset_map,
-               "<Id>urn:uuid:07e", "<Id>urn:uuid:x7e",
+               "<Id>urn:uuid:" + dcp_test1_asset_map_id.substr(0, 3),
+               "<Id>urn:uuid:x" + dcp_test1_asset_map_id.substr(1, 2),
                { dcp::VerificationNote::Code::INVALID_XML }
                );
 }
@@ -2663,10 +2669,8 @@ BOOST_AUTO_TEST_CASE (verify_unsigned_cpl_with_encrypted_content)
                copy_file (i.path(), dir / i.path().filename());
        }
 
-       string const pkl_id = "93182bd2-b1e8-41a3-b5c8-6e6564273bff";
-       path const pkl = dir / ( "pkl_" + pkl_id + ".xml" );
-       string const cpl_id = "81fb54df-e1bf-4647-8788-ea7ba154375b";
-       path const cpl = dir / ( "cpl_" + cpl_id + ".xml");
+       path const pkl = dir / ( "pkl_" + encryption_test_pkl_id + ".xml" );
+       path const cpl = dir / ( "cpl_" + encryption_test_cpl_id + ".xml");
 
        {
                Editor e (cpl);
@@ -2676,14 +2680,14 @@ BOOST_AUTO_TEST_CASE (verify_unsigned_cpl_with_encrypted_content)
        check_verify_result (
                {dir},
                {
-                       { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::MISMATCHED_CPL_HASHES, cpl_id, canonical(cpl) },
-                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, pkl_id, canonical(pkl), },
+                       { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::MISMATCHED_CPL_HASHES, encryption_test_cpl_id, canonical(cpl) },
+                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, encryption_test_pkl_id, canonical(pkl), },
                        { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISSING_FFEC_IN_FEATURE },
                        { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISSING_FFMC_IN_FEATURE },
                        { dcp::VerificationNote::Type::WARNING, dcp::VerificationNote::Code::MISSING_FFOC },
                        { dcp::VerificationNote::Type::WARNING, dcp::VerificationNote::Code::MISSING_LFOC },
-                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISSING_CPL_METADATA, cpl_id, canonical(cpl) },
-                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT, cpl_id, canonical(cpl) }
+                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISSING_CPL_METADATA, encryption_test_cpl_id, canonical(cpl) },
+                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT, encryption_test_cpl_id, canonical(cpl) }
                });
 }
 
@@ -2696,10 +2700,8 @@ BOOST_AUTO_TEST_CASE (verify_unsigned_pkl_with_encrypted_content)
                copy_file (i.path(), dir / i.path().filename());
        }
 
-       string const cpl_id = "81fb54df-e1bf-4647-8788-ea7ba154375b";
-       path const cpl = dir / ("cpl_" + cpl_id + ".xml");
-       string const pkl_id = "93182bd2-b1e8-41a3-b5c8-6e6564273bff";
-       path const pkl = dir / ("pkl_" + pkl_id + ".xml");
+       path const cpl = dir / ("cpl_" + encryption_test_cpl_id + ".xml");
+       path const pkl = dir / ("pkl_" + encryption_test_pkl_id + ".xml");
        {
                Editor e (pkl);
                e.delete_lines ("<dsig:Signature", "</dsig:Signature>");
@@ -2708,13 +2710,13 @@ BOOST_AUTO_TEST_CASE (verify_unsigned_pkl_with_encrypted_content)
        check_verify_result (
                {dir},
                {
-                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, pkl_id, canonical(pkl) },
+                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, encryption_test_pkl_id, canonical(pkl) },
                        { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISSING_FFEC_IN_FEATURE },
                        { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISSING_FFMC_IN_FEATURE },
                        { dcp::VerificationNote::Type::WARNING, dcp::VerificationNote::Code::MISSING_FFOC },
                        { dcp::VerificationNote::Type::WARNING, dcp::VerificationNote::Code::MISSING_LFOC },
-                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISSING_CPL_METADATA, cpl_id, canonical(cpl) },
-                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT, pkl_id, canonical(pkl) },
+                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISSING_CPL_METADATA, encryption_test_cpl_id, canonical(cpl) },
+                       { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT, encryption_test_pkl_id, canonical(pkl) },
                });
 }
 
@@ -2728,7 +2730,7 @@ BOOST_AUTO_TEST_CASE (verify_unsigned_pkl_with_unencrypted_content)
        }
 
        {
-               Editor e (dir / "pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml");
+               Editor e (dir / dcp_test1_pkl);
                e.delete_lines ("<dsig:Signature", "</dsig:Signature>");
        }