From d1491df3b2b8849b644aceaaf64916c5e76757c2 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 4 Jun 2016 01:48:10 +0100 Subject: [PATCH] Fix deadlock on examining DCP subtitle content. --- src/lib/dcp_subtitle_content.cc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/lib/dcp_subtitle_content.cc b/src/lib/dcp_subtitle_content.cc index e8ac75e36..e7057efc4 100644 --- a/src/lib/dcp_subtitle_content.cc +++ b/src/lib/dcp_subtitle_content.cc @@ -56,19 +56,21 @@ DCPSubtitleContent::examine (shared_ptr job) shared_ptr sc = load (path (0)); - /* Default to turning these subtitles on */ - subtitle->set_use (true); + shared_ptr iop = dynamic_pointer_cast (sc); + shared_ptr smpte = dynamic_pointer_cast (sc); + if (smpte) { + set_video_frame_rate (smpte->edit_rate().numerator); + } boost::mutex::scoped_lock lm (_mutex); - shared_ptr iop = dynamic_pointer_cast (sc); + /* Default to turning these subtitles on */ + subtitle->set_use (true); + if (iop) { subtitle->set_language (iop->language ()); - } - shared_ptr smpte = dynamic_pointer_cast (sc); - if (smpte) { + } else if (smpte) { subtitle->set_language (smpte->language().get_value_or ("")); - set_video_frame_rate (smpte->edit_rate().numerator); } _length = ContentTime::from_seconds (sc->latest_subtitle_out().as_seconds ()); -- 2.30.2