X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdcp_examiner.cc;h=fc1fbc53a7163fe7f7decee339435d41f833506e;hb=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26;hp=133c1614e922b5b5f8b6efbcb8a88d7321c2d785;hpb=ca981c8cfa23111e92be329f1c2dfbe3a07b4247;p=dcpomatic.git diff --git a/src/lib/dcp_examiner.cc b/src/lib/dcp_examiner.cc index 133c1614e..fc1fbc53a 100644 --- a/src/lib/dcp_examiner.cc +++ b/src/lib/dcp_examiner.cc @@ -53,8 +53,8 @@ using std::list; using std::cout; using std::runtime_error; using std::map; -using boost::shared_ptr; -using boost::dynamic_pointer_cast; +using std::shared_ptr; +using std::dynamic_pointer_cast; DCPExaminer::DCPExaminer (shared_ptr content, bool tolerant) : DCP (content, tolerant) @@ -67,6 +67,7 @@ DCPExaminer::DCPExaminer (shared_ptr content, bool tolerant) , _kdm_valid (false) , _three_d (false) , _has_atmos (false) + , _atmos_length (0) { shared_ptr cpl; @@ -189,6 +190,7 @@ DCPExaminer::DCPExaminer (shared_ptr content, bool tolerant) } _text_count[TEXT_CLOSED_CAPTION]++; + _dcp_text_tracks.push_back (DCPTextTrack(j->annotation_text(), j->language().get_value_or(_("Unknown")))); } if (i->main_markers ()) { @@ -198,6 +200,11 @@ DCPExaminer::DCPExaminer (shared_ptr content, bool tolerant) if (i->atmos()) { _has_atmos = true; + _atmos_length += i->atmos()->actual_duration(); + if (_atmos_edit_rate != dcp::Fraction()) { + DCPOMATIC_ASSERT (i->atmos()->edit_rate() == _atmos_edit_rate); + } + _atmos_edit_rate = i->atmos()->edit_rate(); } if (i->main_picture()) { @@ -252,8 +259,10 @@ DCPExaminer::DCPExaminer (shared_ptr content, bool tolerant) _standard = cpl->standard().get(); _three_d = !cpl->reels().empty() && cpl->reels().front()->main_picture() && dynamic_pointer_cast (cpl->reels().front()->main_picture()->asset()); - _ratings = list_to_vector (cpl->ratings()); - _content_version = cpl->content_version_label_text (); + _ratings = cpl->ratings(); + BOOST_FOREACH (dcp::ContentVersion i, cpl->content_versions()) { + _content_versions.push_back (i.label_text); + } _cpl = cpl->id (); }