summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-12-03 10:37:15 +0000
committerCarl Hetherington <cth@carlh.net>2014-12-03 10:37:15 +0000
commit51cc8f575b55f2a21d8503965b628c0f59f1ed33 (patch)
tree7931d7c75bdf97d566056610cecffaf24b2c9bf4 /src/lib
parentc008066160d85b9ec9e5485375d7baaa5d27bda2 (diff)
Hand-apply d3bc61f0af33fedf02ac1a28cf91989ee9cd2fb6 from master;
make digest optional.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/audio_content.cc2
-rw-r--r--src/lib/content.cc6
-rw-r--r--src/lib/content.h4
-rw-r--r--src/lib/ffmpeg_content.cc2
4 files changed, 8 insertions, 6 deletions
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<const Film> f, cxml::ConstNodePtr node)
for (list<cxml::NodePtr>::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<double> ("Position"));
_trim_start = DCPTime (node->number_child<double> ("TrimStart"));
_trim_end = DCPTime (node->number_child<double> ("TrimEnd"));
@@ -125,7 +125,9 @@ Content::as_xml (xmlpp::Node* node) const
for (vector<boost::filesystem::path>::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<string> (_position.get ()));
node->add_child("TrimStart")->add_child_text (raw_convert<string> (_trim_start.get ()));
node->add_child("TrimEnd")->add_child_text (raw_convert<string> (_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<std::string> digest () const {
boost::mutex::scoped_lock lm (_mutex);
return _digest;
}
@@ -169,7 +169,7 @@ protected:
std::vector<boost::filesystem::path> _paths;
private:
- std::string _digest;
+ boost::optional<std::string> _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 ();
}