summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-08-22 16:21:57 +0100
committerCarl Hetherington <cth@carlh.net>2018-08-22 16:21:57 +0100
commita22b277dd8896511a322459f45db8e99ad1ab7fe (patch)
tree650785d112c2c1d911f19987e57e202c6848ccad /src/lib
parentf870c4052c8e508b5e85693e380a2a3c29873356 (diff)
libdcp updates for multiple CCAPs.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dcp_decoder.cc6
-rw-r--r--src/lib/dcp_examiner.cc8
2 files changed, 7 insertions, 7 deletions
diff --git a/src/lib/dcp_decoder.cc b/src/lib/dcp_decoder.cc
index b9cb66a60..f4da18649 100644
--- a/src/lib/dcp_decoder.cc
+++ b/src/lib/dcp_decoder.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2014-2016 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2014-2018 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
@@ -201,10 +201,10 @@ DCPDecoder::pass_texts (ContentTime next)
);
++decoder;
}
- if ((*_reel)->closed_caption()) {
+ BOOST_FOREACH (shared_ptr<dcp::ReelClosedCaptionAsset> i, (*_reel)->closed_captions()) {
DCPOMATIC_ASSERT (decoder != text.end ());
pass_texts (
- next, (*_reel)->closed_caption()->asset(), _dcp_content->reference_text(TEXT_CLOSED_CAPTION), (*_reel)->closed_caption()->entry_point(), *decoder
+ next, i->asset(), _dcp_content->reference_text(TEXT_CLOSED_CAPTION), i->entry_point(), *decoder
);
++decoder;
}
diff --git a/src/lib/dcp_examiner.cc b/src/lib/dcp_examiner.cc
index 4b9238e5b..1785669dd 100644
--- a/src/lib/dcp_examiner.cc
+++ b/src/lib/dcp_examiner.cc
@@ -172,8 +172,8 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content)
_has_text[TEXT_OPEN_SUBTITLE] = true;
}
- if (i->closed_caption ()) {
- if (!i->closed_caption()->asset_ref().resolved()) {
+ BOOST_FOREACH (shared_ptr<dcp::ReelClosedCaptionAsset> j, i->closed_captions()) {
+ if (!j->asset_ref().resolved()) {
/* We are missing this asset so we can't continue; examination will be repeated later */
_needs_assets = true;
return;
@@ -188,8 +188,8 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content)
_reel_lengths.push_back (i->main_sound()->duration());
} else if (i->main_subtitle()) {
_reel_lengths.push_back (i->main_subtitle()->duration());
- } else if (i->closed_caption()) {
- _reel_lengths.push_back (i->closed_caption()->duration());
+ } else if (!i->closed_captions().empty()) {
+ _reel_lengths.push_back (i->closed_captions().front()->duration());
}
}