Missing audio asset decryption.
[libdcp.git] / src / picture_asset.cc
index 2ecfa2290896e3ec325f40cde39f1014816e6622..2aec187ac42657b9cd6b3862b83578162ae3c6e3 100644 (file)
@@ -68,11 +68,29 @@ PictureAsset::PictureAsset (string directory, string mxf_name)
 }
 
 string
-PictureAsset::cpl_node_name () const
+MonoPictureAsset::cpl_node_name () const
 {
        return "MainPicture";
 }
 
+int
+MonoPictureAsset::edit_rate_factor () const
+{
+       return 1;
+}
+
+string
+StereoPictureAsset::cpl_node_name () const
+{
+       return "MainStereoscopicPicture";
+}
+
+int
+StereoPictureAsset::edit_rate_factor () const
+{
+       return 2;
+}
+
 void
 PictureAsset::write_to_cpl (xmlpp::Node* node) const
 {
@@ -86,7 +104,7 @@ PictureAsset::write_to_cpl (xmlpp::Node* node) const
 
        assert (i != c.end ());
 
-       (*i)->add_child ("FrameRate")->add_child_text (lexical_cast<string> (_edit_rate) + " 1");
+       (*i)->add_child ("FrameRate")->add_child_text (lexical_cast<string> (_edit_rate * edit_rate_factor ()) + " 1");
        (*i)->add_child ("ScreenAspectRatio")->add_child_text (lexical_cast<string> (_size.width) + " " + lexical_cast<string> (_size.height));
 }
 
@@ -423,7 +441,7 @@ StereoPictureAsset::get_frame (int n) const
        return shared_ptr<const StereoPictureFrame> (new StereoPictureFrame (path().string(), n));
 }
 
-shared_ptr<MonoPictureAssetWriter>
+shared_ptr<PictureAssetWriter>
 MonoPictureAsset::start_write (bool overwrite, MXFMetadata const & metadata)
 {
        /* XXX: can't we use shared_ptr here? */
@@ -441,3 +459,11 @@ StereoPictureAsset::StereoPictureAsset (string directory, string mxf_name, int f
 {
 
 }
+
+shared_ptr<PictureAssetWriter>
+StereoPictureAsset::start_write (bool overwrite, MXFMetadata const & metadata)
+{
+       /* XXX: can't we use shared_ptr here? */
+       return shared_ptr<StereoPictureAssetWriter> (new StereoPictureAssetWriter (this, overwrite, metadata));
+}
+