X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fspl_entry.h;h=d939ec66a23193d205972f5f033559ed4726ebcc;hb=0a3f387f5d39da2ca38ec90a9593c1b598040dd7;hp=033cab6a0a2439b95e3f6cfd7f57c7cafbe87939;hpb=73461f719bfb3ee91644b84f4bffd91df0e6559f;p=dcpomatic.git diff --git a/src/lib/spl_entry.h b/src/lib/spl_entry.h index 033cab6a0..d939ec66a 100644 --- a/src/lib/spl_entry.h +++ b/src/lib/spl_entry.h @@ -18,20 +18,46 @@ */ -namespace dcp { - class CPL; +#ifndef DCPOMATIC_SPL_ENTRY_H +#define DCPOMATIC_SPL_ENTRY_H + +#include +#include +#include + +namespace xmlpp { + class Element; } +class Content; + class SPLEntry { public: - SPLEntry (boost::shared_ptr cpl_, boost::filesystem::path directory_) - : cpl (cpl_) - , directory (directory_) - {} - - /* Length of black before this DCP */ - DCPTime black_before; - boost::shared_ptr cpl; - boost::filesystem::path directory; + SPLEntry (boost::shared_ptr content); + SPLEntry (boost::shared_ptr content, cxml::ConstNodePtr node); + + void as_xml (xmlpp::Element* e); + + boost::shared_ptr content; + std::string name; + /** Digest of this content */ + std::string digest; + /** CPL ID or something else for MP4 (?) */ + std::string id; + dcp::ContentKind kind; + enum Type { + DCP, + ECINEMA + }; + Type type; + bool encrypted; + bool skippable; + bool disable_timeline; + bool stop_after_play; + +private: + void construct (boost::shared_ptr content); }; + +#endif