diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-01-26 21:35:02 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-01-26 21:35:02 +0000 |
| commit | 59886567974bd3e79d30a4a9425d86d50bf425f3 (patch) | |
| tree | 68e583a64144f5cbffede882e1187ecf737b2e43 /src/reel_asset.h | |
| parent | 0703842433013ac1d5f79c09d7a8361dc2e565c8 (diff) | |
It builds again.
Diffstat (limited to 'src/reel_asset.h')
| -rw-r--r-- | src/reel_asset.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/src/reel_asset.h b/src/reel_asset.h new file mode 100644 index 00000000..5207166a --- /dev/null +++ b/src/reel_asset.h @@ -0,0 +1,82 @@ +/* + Copyright (C) 2014 Carl Hetherington <cth@carlh.net> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#ifndef LIBDCP_REEL_ASSET_H +#define LIBDCP_REEL_ASSET_H + +#include "object.h" +#include "util.h" +#include "ref.h" +#include <boost/shared_ptr.hpp> + +namespace cxml { + class Node; +} + +namespace xmlpp { + class Node; +} + +namespace dcp { + +class Content; + +class ReelAsset : public Object +{ +public: + ReelAsset (); + ReelAsset (boost::shared_ptr<Content> content, int64_t entry_point); + ReelAsset (boost::shared_ptr<const cxml::Node>); + + Ref<Content> content () const { + return _content; + } + + bool encrypted () const { + return !_key_id.empty (); + } + + std::string key_id () const { + return _key_id; + } + + virtual void write_to_cpl (xmlpp::Node* node, Standard standard) const; + virtual bool equals (boost::shared_ptr<const ReelAsset>, EqualityOptions, boost::function<void (NoteType, std::string)>) const { + return false; + } + +protected: + virtual std::string cpl_node_name () const = 0; + virtual std::pair<std::string, std::string> cpl_node_attribute () const; + + Ref<Content> _content; + +private: + std::string _annotation_text; + Fraction _edit_rate; + int64_t _intrinsic_duration; + int64_t _entry_point; + int64_t _duration; + std::string _hash; + std::string _key_id; +}; + +} + +#endif |
