From 51cc8f575b55f2a21d8503965b628c0f59f1ed33 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 3 Dec 2014 10:37:15 +0000 Subject: [PATCH] Hand-apply d3bc61f0af33fedf02ac1a28cf91989ee9cd2fb6 from master; make digest optional. --- TO_PORT | 1 - src/lib/audio_content.cc | 2 +- src/lib/content.cc | 6 ++++-- src/lib/content.h | 4 ++-- src/lib/ffmpeg_content.cc | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/TO_PORT b/TO_PORT index b682332a8..d47d85b5e 100644 --- a/TO_PORT +++ b/TO_PORT @@ -1,2 +1 @@ -cd0b7dd044d5b5b1c05118a58c58458edb80bf61 d609c88438d8110569cc940ea2e1bc78c0bb5acc diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc index 988090bf8..8458e3314 100644 --- a/src/lib/audio_content.cc +++ b/src/lib/audio_content.cc @@ -181,7 +181,7 @@ AudioContent::audio_analysis_path () const } boost::filesystem::path p = film->audio_analysis_dir (); - p /= digest() + "_" + audio_mapping().digest(); + p /= digest().get_value_or ("X") + "_" + audio_mapping().digest(); return p; } diff --git a/src/lib/content.cc b/src/lib/content.cc index 6e0218323..ec16b9610 100644 --- a/src/lib/content.cc +++ b/src/lib/content.cc @@ -89,7 +89,7 @@ Content::Content (shared_ptr f, cxml::ConstNodePtr node) for (list::const_iterator i = path_children.begin(); i != path_children.end(); ++i) { _paths.push_back ((*i)->content ()); } - _digest = node->string_child ("Digest"); + _digest = node->optional_string_child ("Digest"); _position = DCPTime (node->number_child ("Position")); _trim_start = DCPTime (node->number_child ("TrimStart")); _trim_end = DCPTime (node->number_child ("TrimEnd")); @@ -125,7 +125,9 @@ Content::as_xml (xmlpp::Node* node) const for (vector::const_iterator i = _paths.begin(); i != _paths.end(); ++i) { node->add_child("Path")->add_child_text (i->string ()); } - node->add_child("Digest")->add_child_text (_digest); + if (_digest) { + node->add_child("Digest")->add_child_text (_digest.get ()); + } node->add_child("Position")->add_child_text (raw_convert (_position.get ())); node->add_child("TrimStart")->add_child_text (raw_convert (_trim_start.get ())); node->add_child("TrimEnd")->add_child_text (raw_convert (_trim_end.get ())); diff --git a/src/lib/content.h b/src/lib/content.h index 0b72ada9c..c2841b64e 100644 --- a/src/lib/content.h +++ b/src/lib/content.h @@ -110,7 +110,7 @@ public: bool paths_valid () const; /** @return MD5 digest of the content's file(s) */ - std::string digest () const { + boost::optional digest () const { boost::mutex::scoped_lock lm (_mutex); return _digest; } @@ -169,7 +169,7 @@ protected: std::vector _paths; private: - std::string _digest; + boost::optional _digest; DCPTime _position; DCPTime _trim_start; DCPTime _trim_end; diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc index a186db48e..e09e71041 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -382,7 +382,7 @@ FFmpegContent::audio_analysis_path () const */ boost::filesystem::path p = film->audio_analysis_dir (); - string name = digest (); + string name = digest().get_value_or ("X"); if (audio_stream ()) { name += "_" + audio_stream()->identifier (); } -- 2.30.2