Add comment.
[libdcp.git] / src / sound_asset.cc
index 8abaae8fdd5c00bb1646bfbc25bb96d7ded601c3..641dc09a8a3b3679a9411909fb75ad5a2f420e33 100644 (file)
 #include "sound_asset_writer.h"
 #include "sound_asset_reader.h"
 #include "compose.hpp"
-#include "KM_fileio.h"
-#include "AS_DCP.h"
 #include "dcp_assert.h"
+#include <asdcp/KM_fileio.h>
+#include <asdcp/AS_DCP.h>
 #include <libxml++/nodes/element.h>
 #include <boost/filesystem.hpp>
-#include <iostream>
 #include <stdexcept>
 
 using std::string;
-using std::stringstream;
-using std::ostream;
 using std::vector;
 using std::list;
 using boost::shared_ptr;
@@ -87,8 +84,9 @@ SoundAsset::SoundAsset (boost::filesystem::path file)
        _id = read_writer_info (info);
 }
 
-SoundAsset::SoundAsset (Fraction edit_rate, int sampling_rate, int channels)
-       : _edit_rate (edit_rate)
+SoundAsset::SoundAsset (Fraction edit_rate, int sampling_rate, int channels, Standard standard)
+       : MXF (standard)
+       , _edit_rate (edit_rate)
        , _intrinsic_duration (0)
        , _channels (channels)
        , _sampling_rate (sampling_rate)
@@ -100,15 +98,16 @@ bool
 SoundAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt, NoteHandler note) const
 {
        ASDCP::PCM::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::PCM::MXFReader reader_B;
-       r = reader_B.OpenRead (other->file().string().c_str());
+       r = reader_B.OpenRead (other->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", other->file()->string(), r));
        }
 
        ASDCP::PCM::AudioDescriptor desc_A;
@@ -194,16 +193,16 @@ SoundAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt, NoteHand
 }
 
 shared_ptr<SoundAssetWriter>
-SoundAsset::start_write (boost::filesystem::path file, Standard standard)
+SoundAsset::start_write (boost::filesystem::path file)
 {
        /* XXX: can't we use a shared_ptr here? */
-       return shared_ptr<SoundAssetWriter> (new SoundAssetWriter (this, file, standard));
+       return shared_ptr<SoundAssetWriter> (new SoundAssetWriter (this, file));
 }
 
 shared_ptr<SoundAssetReader>
 SoundAsset::start_read () const
 {
-       return shared_ptr<SoundAssetReader> (new SoundAssetReader (this));
+       return shared_ptr<SoundAssetReader> (new SoundAssetReader (this, key(), standard()));
 }
 
 string