X-Git-Url: https://main.carlh.net/gitweb/?p=libdcp.git;a=blobdiff_plain;f=src%2Freel_asset.h;h=344e41c30a6f7b9eb647af942456c38f82e861fd;hp=daf2220a8dd1bc51aed230dc39867dc5679486e9;hb=ceaf7bc52712cb60708ed5eb5c62c5e463dd8e89;hpb=6c37cc1979b2a01205a888c4c98f3334685ee8dd diff --git a/src/reel_asset.h b/src/reel_asset.h index daf2220a..344e41c3 100644 --- a/src/reel_asset.h +++ b/src/reel_asset.h @@ -31,30 +31,38 @@ files in the program, then also delete it here. */ + /** @file src/reel_asset.h - * @brief ReelAsset class. + * @brief ReelAsset class */ + #ifndef LIBDCP_REEL_ASSET_H #define LIBDCP_REEL_ASSET_H + #include "object.h" #include "util.h" #include "ref.h" #include + namespace cxml { class Node; } + namespace xmlpp { class Node; } + namespace dcp { + class Asset; + /** @class ReelAsset * @brief An entry in a <Reel> which refers to a use of a piece of content. * @@ -65,7 +73,14 @@ class Asset; class ReelAsset : public Object { public: + /** Construct a ReelAsset + * @param id ID of this ReelAsset (which is that of the MXF, if there is one) + * @param edit_rate Edit rate for the asset + * @param intrinsic_duration Intrinsic duration of this asset + * @param entry_point Entry point to use in that asset + */ ReelAsset (std::string id, Fraction edit_rate, int64_t intrinsic_duration, int64_t entry_point); + explicit ReelAsset (std::shared_ptr); virtual xmlpp::Node* write_to_cpl (xmlpp::Node* node, Standard standard) const = 0; @@ -98,6 +113,7 @@ public: return _duration; } + /** @return , or - if is not present */ int64_t actual_duration () const; std::string annotation_text () const { @@ -125,7 +141,7 @@ protected: xmlpp::Node* write_to_cpl_asset (xmlpp::Node* node, Standard standard, boost::optional hash) const; - int64_t _intrinsic_duration; ///< The <IntrinsicDuration> from the reel's entry for this asset + int64_t _intrinsic_duration = 0; ///< The <IntrinsicDuration> from the reel's entry for this asset boost::optional _duration; ///< The <Duration> from the reel's entry for this asset, if present private: