From f9754756b1cda04089fa0548bcccc51b0dd23403 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 4 May 2019 00:06:54 +0000 Subject: Include video_frame_rate in TextContent identifier so that if (for example) some SRT subs are being burnt and their video frame rate is changed we won't try to reuse the video that has been burnt with the subs at the old frame rate. --- src/lib/string_text_file_content.cc | 8 ++++++++ src/lib/string_text_file_content.h | 1 + src/lib/text_content.cc | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/lib') diff --git a/src/lib/string_text_file_content.cc b/src/lib/string_text_file_content.cc index b4362a7d0..b3f7f431e 100644 --- a/src/lib/string_text_file_content.cc +++ b/src/lib/string_text_file_content.cc @@ -100,3 +100,11 @@ StringTextFileContent::approximate_length () const { return DCPTime (_length, FrameRateChange()); } + +string +StringTextFileContent::identifier () const +{ + string s = Content::identifier (); + s += "_" + only_text()->identifier(); + return s; +} diff --git a/src/lib/string_text_file_content.h b/src/lib/string_text_file_content.h index 936e894d8..83323172d 100644 --- a/src/lib/string_text_file_content.h +++ b/src/lib/string_text_file_content.h @@ -45,6 +45,7 @@ public: void as_xml (xmlpp::Node *, bool with_paths) const; DCPTime full_length (boost::shared_ptr film) const; DCPTime approximate_length () const; + std::string identifier () const; private: ContentTime _length; diff --git a/src/lib/text_content.cc b/src/lib/text_content.cc index e2f5264df..772ed31f5 100644 --- a/src/lib/text_content.cc +++ b/src/lib/text_content.cc @@ -399,7 +399,8 @@ TextContent::identifier () const + "_" + raw_convert (outline_width()) + "_" + raw_convert (colour().get_value_or(dcp::Colour(255, 255, 255)).to_argb_string()) + "_" + raw_convert (dcp::effect_to_string(effect().get_value_or(dcp::NONE))) - + "_" + raw_convert (effect_colour().get_value_or(dcp::Colour(0, 0, 0)).to_argb_string()); + + "_" + raw_convert (effect_colour().get_value_or(dcp::Colour(0, 0, 0)).to_argb_string()) + + "_" + raw_convert (_parent->video_frame_rate().get_value_or(0)); /* XXX: I suppose really _fonts shouldn't be in here, since not all types of subtitle content involve fonts. -- cgit v1.2.3