#ifndef DCPOMATIC_CONTENT_H
#define DCPOMATIC_CONTENT_H
-#include <set>
+#include "types.h"
+#include "dcpomatic_time.h"
+#include <libxml++/libxml++.h>
+#include <libcxml/cxml.h>
#include <boost/filesystem.hpp>
#include <boost/signals2.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/enable_shared_from_this.hpp>
-#include <libxml++/libxml++.h>
-#include <libcxml/cxml.h>
-#include "types.h"
-#include "dcpomatic_time.h"
namespace cxml {
class Node;
/** Examine the content to establish digest, frame rates and any other
* useful metadata.
* @param job Job to use to report progress, or 0.
+ * @param calculate_digest True to calculate a digest for the content's file(s).
*/
- virtual void examine (boost::shared_ptr<Job> job);
+ virtual void examine (boost::shared_ptr<Job> job, bool calculate_digest);
/** @return Quick one-line summary of the content, as will be presented in the
* film editor.
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;
}
std::vector<boost::filesystem::path> _paths;
private:
- std::string _digest;
+ boost::optional<std::string> _digest;
DCPTime _position;
DCPTime _trim_start;
DCPTime _trim_end;