summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-03-26 00:09:15 +0100
committerCarl Hetherington <cth@carlh.net>2021-03-26 00:09:15 +0100
commitb9c5e3f74550917676e14324791d6ba4d0c07cac (patch)
tree4e3264a68c365af195f682b548186f6c973246b7
parentc7208194515e93f85441c76d78d11a47d79b36e1 (diff)
Write MCA tags based on the specified sound field.
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).
-rw-r--r--examples/make_dcp.cc6
-rw-r--r--src/sound_asset.cc4
-rw-r--r--src/sound_asset.h2
-rw-r--r--src/sound_asset_writer.cc26
-rw-r--r--src/sound_asset_writer.h4
-rw-r--r--src/types.cc30
-rw-r--r--test/dcp_test.cc4
-rw-r--r--test/encryption_test.cc2
-rw-r--r--test/mca_test.cc9
-rw-r--r--test/ref/DCP/dcp_test1/ASSETMAP.xml8
-rw-r--r--test/ref/DCP/dcp_test1/audio.mxfbin881326 -> 881326 bytes
-rw-r--r--test/ref/DCP/dcp_test1/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml58
-rw-r--r--test/ref/DCP/dcp_test1/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml (renamed from test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml)8
-rw-r--r--test/ref/DCP/dcp_test2/ASSETMAP.xml6
-rw-r--r--test/ref/DCP/dcp_test2/audio.mxfbin161326 -> 161326 bytes
-rw-r--r--test/ref/DCP/dcp_test2/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml4
-rw-r--r--test/ref/DCP/dcp_test2/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml (renamed from test/ref/DCP/dcp_test2/pkl_ae8a9818-872a-4f86-8493-11dfdea03e09.xml)6
-rw-r--r--test/ref/DCP/dcp_test5/ASSETMAP.xml6
-rw-r--r--test/ref/DCP/dcp_test5/audio.mxfbin161326 -> 161326 bytes
-rw-r--r--test/ref/DCP/dcp_test5/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml4
-rw-r--r--test/ref/DCP/dcp_test5/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml (renamed from test/ref/DCP/dcp_test5/pkl_74e205d0-d145-42d2-8c49-7b55d058ca55.xml)6
-rw-r--r--test/ref/DCP/dcp_test7/ASSETMAP6
-rw-r--r--test/ref/DCP/dcp_test7/audio.mxfbin881326 -> 881326 bytes
-rw-r--r--test/ref/DCP/dcp_test7/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml6
-rw-r--r--test/ref/DCP/dcp_test7/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml (renamed from test/ref/DCP/dcp_test7/pkl_63c3aece-c581-4603-b612-75e43f0c0430.xml)6
-rw-r--r--test/ref/DCP/encryption_test/ASSETMAP.xml6
-rw-r--r--test/ref/DCP/encryption_test/audio.mxfbin165454 -> 165454 bytes
-rw-r--r--test/ref/DCP/encryption_test/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml18
-rw-r--r--test/ref/DCP/encryption_test/pkl_627ad740-ae36-4c49-92bb-553a9f09c4f8.xml (renamed from test/ref/DCP/encryption_test/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml)20
-rw-r--r--test/sync_test.cc4
-rw-r--r--test/test.cc4
-rw-r--r--test/verify_test.cc44
32 files changed, 177 insertions, 130 deletions
diff --git a/examples/make_dcp.cc b/examples/make_dcp.cc
index 22f6e722..dbd95a52 100644
--- a/examples/make_dcp.cc
+++ b/examples/make_dcp.cc
@@ -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;
diff --git a/src/sound_asset.cc b/src/sound_asset.cc
index 1c0a181f..fe0c5dd0 100644
--- a/src/sound_asset.cc
+++ b/src/sound_asset.cc
@@ -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));
}
diff --git a/src/sound_asset.h b/src/sound_asset.h
index e238de46..e58773e4 100644
--- a/src/sound_asset.h
+++ b/src/sound_asset.h
@@ -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 (
diff --git a/src/sound_asset_writer.cc b/src/sound_asset_writer.cc
index c0cdf0cb..205a45ab 100644
--- a/src/sound_asset_writer.cc
+++ b/src/sound_asset_writer.cc
@@ -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);
}
diff --git a/src/sound_asset_writer.h b/src/sound_asset_writer.h
index d2eba024..b024749f 100644
--- a/src/sound_asset_writer.h
+++ b/src/sound_asset_writer.h
@@ -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;
};
}
diff --git a/src/types.cc b/src/types.cc
index b4c10ddc..44422ca9 100644
--- a/src/types.cc
+++ b/src/types.cc
@@ -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
+ };
}
diff --git a/test/dcp_test.cc b/test/dcp_test.cc
index 40030f7b..fb3a605c 100644
--- a/test/dcp_test.cc
+++ b/test/dcp_test.cc
@@ -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;
diff --git a/test/encryption_test.cc b/test/encryption_test.cc
index a4246294..5294f1ac 100644
--- a/test/encryption_test.cc
+++ b/test/encryption_test.cc
@@ -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;
diff --git a/test/mca_test.cc b/test/mca_test.cc
index 8467b49a..d9708ea9 100644
--- a/test/mca_test.cc
+++ b/test/mca_test.cc
@@ -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) {
diff --git a/test/ref/DCP/dcp_test1/ASSETMAP.xml b/test/ref/DCP/dcp_test1/ASSETMAP.xml
index 1e5c909b..88c77c37 100644
--- a/test/ref/DCP/dcp_test1/ASSETMAP.xml
+++ b/test/ref/DCP/dcp_test1/ASSETMAP.xml
@@ -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>
diff --git a/test/ref/DCP/dcp_test1/audio.mxf b/test/ref/DCP/dcp_test1/audio.mxf
index 0b5a4459..068d6bfa 100644
--- a/test/ref/DCP/dcp_test1/audio.mxf
+++ b/test/ref/DCP/dcp_test1/audio.mxf
Binary files differ
diff --git a/test/ref/DCP/dcp_test1/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml b/test/ref/DCP/dcp_test1/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
index fed09ab1..36e2ff51 100644
--- a/test/ref/DCP/dcp_test1/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
+++ b/test/ref/DCP/dcp_test1/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
@@ -14,10 +14,10 @@
<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,10 +52,10 @@
<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/>
@@ -100,6 +100,56 @@
<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_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml
index e2a28329..c73f4a1d 100644
--- a/test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml
+++ b/test/ref/DCP/dcp_test1/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml
@@ -1,6 +1,6 @@
<?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>
+ <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>
@@ -9,8 +9,8 @@
<Asset>
<Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
<AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
- <Hash>X3bMCBdXEOYEpYmsConNWrWUAGs=</Hash>
- <Size>5082</Size>
+ <Hash>SEEi70vx1WQs67bmu2zKvzIkXvY=</Hash>
+ <Size>8762</Size>
<Type>text/xml</Type>
</Asset>
<Asset>
@@ -23,7 +23,7 @@
<Asset>
<Id>urn:uuid:9482e87d-292d-4e0e-a98d-c61822b60fe9</Id>
<AnnotationText>9482e87d-292d-4e0e-a98d-c61822b60fe9</AnnotationText>
- <Hash>qtXbkcwhUj/yqquVLmV+wbzbxQ8=</Hash>
+ <Hash>WU0/u1wM17y7Kriq06+65/ViX1o=</Hash>
<Size>881326</Size>
<Type>application/mxf</Type>
</Asset>
diff --git a/test/ref/DCP/dcp_test2/ASSETMAP.xml b/test/ref/DCP/dcp_test2/ASSETMAP.xml
index 73d9d9a1..1940929e 100644
--- a/test/ref/DCP/dcp_test2/ASSETMAP.xml
+++ b/test/ref/DCP/dcp_test2/ASSETMAP.xml
@@ -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>
diff --git a/test/ref/DCP/dcp_test2/audio.mxf b/test/ref/DCP/dcp_test2/audio.mxf
index d249b939..668ab05a 100644
--- a/test/ref/DCP/dcp_test2/audio.mxf
+++ b/test/ref/DCP/dcp_test2/audio.mxf
Binary files differ
diff --git a/test/ref/DCP/dcp_test2/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml b/test/ref/DCP/dcp_test2/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
index 26bc6caf..fa7ce229 100644
--- a/test/ref/DCP/dcp_test2/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
+++ b/test/ref/DCP/dcp_test2/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
@@ -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_ae8a9818-872a-4f86-8493-11dfdea03e09.xml b/test/ref/DCP/dcp_test2/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml
index 29c9be0f..d7039a68 100644
--- a/test/ref/DCP/dcp_test2/pkl_ae8a9818-872a-4f86-8493-11dfdea03e09.xml
+++ b/test/ref/DCP/dcp_test2/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml
@@ -1,6 +1,6 @@
<?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>
+ <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>
@@ -9,7 +9,7 @@
<Asset>
<Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
<AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
- <Hash>kXKqQAWnzfzo230TdOZh4tZ+z6A=</Hash>
+ <Hash>S4F3eG0+QoiL/NMxwaS1KDxpico=</Hash>
<Size>1774</Size>
<Type>text/xml</Type>
</Asset>
@@ -23,7 +23,7 @@
<Asset>
<Id>urn:uuid:8b92bcee-62fc-4a33-a51a-816e9611ce85</Id>
<AnnotationText>8b92bcee-62fc-4a33-a51a-816e9611ce85</AnnotationText>
- <Hash>fnl4pJDAQk/xQ54W4R+l6S7PB7E=</Hash>
+ <Hash>ZONON+FxuDpU4nLiPCOiT4c/6qM=</Hash>
<Size>161326</Size>
<Type>application/mxf</Type>
</Asset>
diff --git a/test/ref/DCP/dcp_test5/ASSETMAP.xml b/test/ref/DCP/dcp_test5/ASSETMAP.xml
index a0e91179..5f38e3b4 100644
--- a/test/ref/DCP/dcp_test5/ASSETMAP.xml
+++ b/test/ref/DCP/dcp_test5/ASSETMAP.xml
@@ -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>
diff --git a/test/ref/DCP/dcp_test5/audio.mxf b/test/ref/DCP/dcp_test5/audio.mxf
index 62158f3f..d7ec7a1c 100644
--- a/test/ref/DCP/dcp_test5/audio.mxf
+++ b/test/ref/DCP/dcp_test5/audio.mxf
Binary files differ
diff --git a/test/ref/DCP/dcp_test5/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml b/test/ref/DCP/dcp_test5/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
index c451b9a6..b22ba9db 100644
--- a/test/ref/DCP/dcp_test5/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
+++ b/test/ref/DCP/dcp_test5/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
@@ -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_74e205d0-d145-42d2-8c49-7b55d058ca55.xml b/test/ref/DCP/dcp_test5/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml
index 8f9708a0..8e03de36 100644
--- a/test/ref/DCP/dcp_test5/pkl_74e205d0-d145-42d2-8c49-7b55d058ca55.xml
+++ b/test/ref/DCP/dcp_test5/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml
@@ -1,6 +1,6 @@
<?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>
+ <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>
@@ -9,7 +9,7 @@
<Asset>
<Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
<AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
- <Hash>ORDwkWVluXR+6a9ufu0rVqbrITU=</Hash>
+ <Hash>Nw353MwKdHHogjXjQxh0KCcevG8=</Hash>
<Size>2156</Size>
<Type>text/xml</Type>
</Asset>
@@ -23,7 +23,7 @@
<Asset>
<Id>urn:uuid:9482e87d-292d-4e0e-a98d-c61822b60fe9</Id>
<AnnotationText>9482e87d-292d-4e0e-a98d-c61822b60fe9</AnnotationText>
- <Hash>ifmC1P7fjigb1oVxx6xs3Paz/GY=</Hash>
+ <Hash>9ShW4q2CmXpFRbtUsMrf/77aubg=</Hash>
<Size>161326</Size>
<Type>application/mxf</Type>
</Asset>
diff --git a/test/ref/DCP/dcp_test7/ASSETMAP b/test/ref/DCP/dcp_test7/ASSETMAP
index 58ef1279..82ef52b4 100644
--- a/test/ref/DCP/dcp_test7/ASSETMAP
+++ b/test/ref/DCP/dcp_test7/ASSETMAP
@@ -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>
diff --git a/test/ref/DCP/dcp_test7/audio.mxf b/test/ref/DCP/dcp_test7/audio.mxf
index 0b5a4459..068d6bfa 100644
--- a/test/ref/DCP/dcp_test7/audio.mxf
+++ b/test/ref/DCP/dcp_test7/audio.mxf
Binary files differ
diff --git a/test/ref/DCP/dcp_test7/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml b/test/ref/DCP/dcp_test7/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
index bb933d94..1fffbbdc 100644
--- a/test/ref/DCP/dcp_test7/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
+++ b/test/ref/DCP/dcp_test7/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
@@ -14,10 +14,10 @@
<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_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml
index ae197d21..37172a8c 100644
--- a/test/ref/DCP/dcp_test7/pkl_63c3aece-c581-4603-b612-75e43f0c0430.xml
+++ b/test/ref/DCP/dcp_test7/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml
@@ -1,6 +1,6 @@
<?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>
+ <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>
@@ -9,7 +9,7 @@
<Asset>
<Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
<AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
- <Hash>4a5qu1Q918HGMSi/b5d30ZvlkIo=</Hash>
+ <Hash>JgF8rDx3rauByV99k0D6Jm8WXYk=</Hash>
<Size>2168</Size>
<Type>text/xml;asdcpKind=CPL</Type>
</Asset>
@@ -23,7 +23,7 @@
<Asset>
<Id>urn:uuid:9482e87d-292d-4e0e-a98d-c61822b60fe9</Id>
<AnnotationText>9482e87d-292d-4e0e-a98d-c61822b60fe9</AnnotationText>
- <Hash>qtXbkcwhUj/yqquVLmV+wbzbxQ8=</Hash>
+ <Hash>WU0/u1wM17y7Kriq06+65/ViX1o=</Hash>
<Size>881326</Size>
<Type>application/x-smpte-mxf;asdcpKind=Sound</Type>
</Asset>
diff --git a/test/ref/DCP/encryption_test/ASSETMAP.xml b/test/ref/DCP/encryption_test/ASSETMAP.xml
index 0fc7ea3c..5d5abd31 100644
--- a/test/ref/DCP/encryption_test/ASSETMAP.xml
+++ b/test/ref/DCP/encryption_test/ASSETMAP.xml
@@ -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>
diff --git a/test/ref/DCP/encryption_test/audio.mxf b/test/ref/DCP/encryption_test/audio.mxf
index 2e12edab..8cd47238 100644
--- a/test/ref/DCP/encryption_test/audio.mxf
+++ b/test/ref/DCP/encryption_test/audio.mxf
Binary files differ
diff --git a/test/ref/DCP/encryption_test/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml b/test/ref/DCP/encryption_test/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
index 68cbfc3c..75df0698 100644
--- a/test/ref/DCP/encryption_test/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
+++ b/test/ref/DCP/encryption_test/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
@@ -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>
@@ -59,15 +59,15 @@
<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_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml b/test/ref/DCP/encryption_test/pkl_627ad740-ae36-4c49-92bb-553a9f09c4f8.xml
index 0dcc9546..eedb2c3f 100644
--- a/test/ref/DCP/encryption_test/pkl_93182bd2-b1e8-41a3-b5c8-6e6564273bff.xml
+++ b/test/ref/DCP/encryption_test/pkl_627ad740-ae36-4c49-92bb-553a9f09c4f8.xml
@@ -1,6 +1,6 @@
<?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>
+ <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>
@@ -9,7 +9,7 @@
<Asset>
<Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
<AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
- <Hash>dinpjeGyswCuE6wwc4qNO6QgZ4M=</Hash>
+ <Hash>Ed7kJy32YUYb6R3OgfmsTHQqA8g=</Hash>
<Size>9314</Size>
<Type>text/xml</Type>
</Asset>
@@ -23,7 +23,7 @@
<Asset>
<Id>urn:uuid:d5f633d3-cb6e-4c04-85ae-4b2da9422852</Id>
<AnnotationText>d5f633d3-cb6e-4c04-85ae-4b2da9422852</AnnotationText>
- <Hash>h7XEYV80a8CvQ5wS1OR3ldbkLM4=</Hash>
+ <Hash>EEDaX1Q/g01lnOaiBXTs2U/YwoE=</Hash>
<Size>165454</Size>
<Type>application/mxf</Type>
</Asset>
@@ -46,15 +46,15 @@
<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:DigestValue>la1WkKlDHSnQaB3zHH5+PQpX4Fw=</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: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>
diff --git a/test/sync_test.cc b/test/sync_test.cc
index 3d6570b7..79e678b5 100644
--- a/test/sync_test.cc
+++ b/test/sync_test.cc
@@ -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];
diff --git a/test/test.cc b/test/test.cc
index 1f12bee4..79706bf8 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -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;
diff --git a/test/verify_test.cc b/test/verify_test.cc
index 80e985e5..cb7c539d 100644
--- a/test/verify_test.cc
+++ b/test/verify_test.cc
@@ -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>");
}