X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdcp_subtitle_content.cc;h=351d8c26ef8e07b958b2c2323f7a2893ede12b99;hb=4dbc6ef917aeceb906b1ef1caf6911033e7e2c54;hp=83b0d200cee33146c6f92b33a1de1bd0b34df0da;hpb=cb1dfa9ec09af2abf6d10e4bf2764476db83841b;p=dcpomatic.git diff --git a/src/lib/dcp_subtitle_content.cc b/src/lib/dcp_subtitle_content.cc index 83b0d200c..351d8c26e 100644 --- a/src/lib/dcp_subtitle_content.cc +++ b/src/lib/dcp_subtitle_content.cc @@ -17,9 +17,11 @@ */ -#include -#include +#include "font.h" #include "dcp_subtitle_content.h" +#include +#include +#include #include "i18n.h" @@ -44,11 +46,21 @@ DCPSubtitleContent::DCPSubtitleContent (shared_ptr film, cxml::Const } void -DCPSubtitleContent::examine (shared_ptr job) +DCPSubtitleContent::examine (shared_ptr job, bool calculate_digest) { - Content::examine (job); - dcp::SubtitleContent sc (path (0), false); + Content::examine (job, calculate_digest); + + dcp::InteropSubtitleContent sc (path (0)); + + boost::mutex::scoped_lock lm (_mutex); + + _subtitle_language = sc.language (); _length = DCPTime::from_seconds (sc.latest_subtitle_out().to_seconds ()); + + list > fonts = sc.load_font_nodes (); + for (list >::const_iterator i = fonts.begin(); i != fonts.end(); ++i) { + _fonts.push_back (shared_ptr (new Font ((*i)->id))); + } } DCPTime