48 #include <boost/function.hpp>
67 class ReelPictureAsset;
69 class ReelSubtitleAsset;
70 class ReelMarkersAsset;
71 class ReelClosedCaptionAsset;
83 std::shared_ptr<ReelPictureAsset> picture,
84 std::shared_ptr<ReelSoundAsset> sound = std::shared_ptr<ReelSoundAsset> (),
85 std::shared_ptr<ReelSubtitleAsset> subtitle = std::shared_ptr<ReelSubtitleAsset> (),
86 std::shared_ptr<ReelMarkersAsset> markers = std::shared_ptr<ReelMarkersAsset> (),
87 std::shared_ptr<ReelAtmosAsset> atmos = std::shared_ptr<ReelAtmosAsset> ()
89 : _main_picture (picture)
91 , _main_subtitle (subtitle)
92 , _main_markers (markers)
96 explicit Reel (std::shared_ptr<const cxml::Node>, dcp::Standard standard);
98 std::shared_ptr<ReelPictureAsset> main_picture ()
const {
102 std::shared_ptr<ReelSoundAsset> main_sound ()
const {
106 std::shared_ptr<ReelSubtitleAsset> main_subtitle ()
const {
107 return _main_subtitle;
110 std::shared_ptr<ReelMarkersAsset> main_markers ()
const {
111 return _main_markers;
114 std::vector<std::shared_ptr<ReelClosedCaptionAsset>> closed_captions ()
const {
115 return _closed_captions;
118 std::shared_ptr<ReelAtmosAsset> atmos ()
const {
122 int64_t duration ()
const;
124 void add (std::shared_ptr<ReelAsset> asset);
126 std::vector<std::shared_ptr<ReelAsset>> assets ()
const;
128 xmlpp::Element* write_to_cpl (xmlpp::Element* node, Standard standard)
const;
130 bool any_encrypted ()
const;
131 bool all_encrypted ()
const;
133 bool equals (std::shared_ptr<const Reel> other,
EqualityOptions opt, NoteHandler notes)
const;
137 void resolve_refs (std::vector<std::shared_ptr<Asset>>);
142 std::shared_ptr<ReelPictureAsset> _main_picture;
143 std::shared_ptr<ReelSoundAsset> _main_sound;
144 std::shared_ptr<ReelSubtitleAsset> _main_subtitle;
145 std::shared_ptr<ReelMarkersAsset> _main_markers;
146 std::vector<std::shared_ptr<ReelClosedCaptionAsset>> _closed_captions;
147 std::shared_ptr<ReelAtmosAsset> _atmos;
149 std::vector<dcp::DecryptedKDM> _kdms;
Some part of a DCP that has a UUID.
A reel within a DCP; the part which actually refers to picture, sound, subtitle, marker and Atmos dat...
Namespace for everything in libdcp.
A class to describe what "equality" means for a particular test.