Add Reader classes to permit much more efficient DCP reading.
[libdcp.git] / src / reel_stereo_picture_asset.h
index 57cc4da15e07b5a11f18f99e6def9122c9f99c18..03bb6fd033fb5567f296e22a2c08af571969f158 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2015 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
 #define LIBDCP_REEL_STEREO_PICTURE_ASSET_H
 
 #include "reel_picture_asset.h"
+#include "stereo_picture_asset.h"
 
 namespace dcp {
 
-class StereoPictureMXF;        
+class StereoPictureAsset;
 
 /** @class ReelStereoPictureAsset
- *  @brief Part of a Reel's description which refers to a stereoscopic picture MXF.
+ *  @brief Part of a Reel's description which refers to a stereoscopic picture asset.
  */
 class ReelStereoPictureAsset : public ReelPictureAsset
 {
 public:
        ReelStereoPictureAsset ();
-       ReelStereoPictureAsset (boost::shared_ptr<StereoPictureMXF> content, int64_t entry_point);
+       ReelStereoPictureAsset (boost::shared_ptr<StereoPictureAsset> content, int64_t entry_point);
        ReelStereoPictureAsset (boost::shared_ptr<const cxml::Node>);
 
+       /** @return the StereoPictureAsset that this object refers to */
+       boost::shared_ptr<const StereoPictureAsset> stereo_asset () const {
+               return asset_of_type<const StereoPictureAsset> ();
+       }
+
+       /** @return the StereoPictureAsset that this object refers to */
+       boost::shared_ptr<StereoPictureAsset> stereo_asset () {
+               return asset_of_type<StereoPictureAsset> ();
+       }
+
 private:
        std::string cpl_node_name () const;
        std::pair<std::string, std::string> cpl_node_attribute (Standard standard) const;
@@ -48,4 +59,3 @@ private:
 }
 
 #endif
-