Support more than one closed caption asset per reel.
[libdcp.git] / src / mono_picture_asset.cc
index 59af7c7299c6c9eb68701118aa7c340865c85c82..5a01491013e28a4112f9e32c0ba10f372b29f35d 100644 (file)
 #include "mono_picture_asset.h"
 #include "mono_picture_asset_writer.h"
 #include "mono_picture_asset_reader.h"
-#include "AS_DCP.h"
-#include "KM_fileio.h"
 #include "exceptions.h"
 #include "dcp_assert.h"
 #include "mono_picture_frame.h"
 #include "compose.hpp"
+#include <asdcp/AS_DCP.h>
+#include <asdcp/KM_fileio.h>
 
 using std::string;
 using std::vector;
@@ -73,8 +73,8 @@ MonoPictureAsset::MonoPictureAsset (boost::filesystem::path file)
        _id = read_writer_info (info);
 }
 
-MonoPictureAsset::MonoPictureAsset (Fraction edit_rate)
-       : PictureAsset (edit_rate)
+MonoPictureAsset::MonoPictureAsset (Fraction edit_rate, Standard standard)
+       : PictureAsset (edit_rate, standard)
 {
 
 }
@@ -93,15 +93,17 @@ MonoPictureAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt, No
        }
 
        ASDCP::JP2K::MXFReader reader_A;
-       Kumu::Result_t r = reader_A.OpenRead (_file.string().c_str());
+       DCP_ASSERT (_file);
+       Kumu::Result_t r = reader_A.OpenRead (_file->string().c_str());
        if (ASDCP_FAILURE (r)) {
-               boost::throw_exception (MXFFileError ("could not open MXF file for reading", _file.string(), r));
+               boost::throw_exception (MXFFileError ("could not open MXF file for reading", _file->string(), r));
        }
 
        ASDCP::JP2K::MXFReader reader_B;
-       r = reader_B.OpenRead (other->file().string().c_str());
+       DCP_ASSERT (other->file ());
+       r = reader_B.OpenRead (other->file()->string().c_str());
        if (ASDCP_FAILURE (r)) {
-               boost::throw_exception (MXFFileError ("could not open MXF file for reading", other->file().string(), r));
+               boost::throw_exception (MXFFileError ("could not open MXF file for reading", other->file()->string(), r));
        }
 
        ASDCP::JP2K::PictureDescriptor desc_A;
@@ -165,16 +167,16 @@ MonoPictureAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt, No
 }
 
 shared_ptr<PictureAssetWriter>
-MonoPictureAsset::start_write (boost::filesystem::path file, Standard standard, bool overwrite)
+MonoPictureAsset::start_write (boost::filesystem::path file, bool overwrite)
 {
        /* XXX: can't we use shared_ptr here? */
-       return shared_ptr<MonoPictureAssetWriter> (new MonoPictureAssetWriter (this, file, standard, overwrite));
+       return shared_ptr<MonoPictureAssetWriter> (new MonoPictureAssetWriter (this, file, overwrite));
 }
 
 shared_ptr<MonoPictureAssetReader>
 MonoPictureAsset::start_read () const
 {
-       return shared_ptr<MonoPictureAssetReader> (new MonoPictureAssetReader (this));
+       return shared_ptr<MonoPictureAssetReader> (new MonoPictureAssetReader (this, key(), standard()));
 }
 
 string