Add Atmos read/write and untested MXF decryption tool.
[libdcp.git] / src / stereo_picture_asset.cc
index c81b58776082ead4e0356b13bcdf6fbbfb0ee67a..4bbf7268568d0c7366fc5fecc0f6427b4703743a 100644 (file)
 
     You should have received a copy of the GNU General Public License
     along with libdcp.  If not, see <http://www.gnu.org/licenses/>.
+
+    In addition, as a special exception, the copyright holders give
+    permission to link the code of portions of this program with the
+    OpenSSL library under certain conditions as described in each
+    individual source file, and distribute linked combinations
+    including the two.
+
+    You must obey the GNU General Public License in all respects
+    for all of the code used other than OpenSSL.  If you modify
+    file(s) with this exception, you may extend this exception to your
+    version of the file(s), but you are not obligated to do so.  If you
+    do not wish to do so, delete this exception statement from your
+    version.  If you delete this exception statement from all source
+    files in the program, then also delete it here.
 */
 
-#include "AS_DCP.h"
 #include "stereo_picture_asset.h"
 #include "stereo_picture_frame.h"
 #include "exceptions.h"
 #include "stereo_picture_asset_writer.h"
 #include "stereo_picture_asset_reader.h"
 #include "dcp_assert.h"
+#include <asdcp/AS_DCP.h>
 
 using std::string;
 using std::pair;
@@ -72,22 +86,24 @@ StereoPictureAsset::start_write (boost::filesystem::path file, Standard standard
 shared_ptr<StereoPictureAssetReader>
 StereoPictureAsset::start_read () const
 {
-       return shared_ptr<StereoPictureAssetReader> (new StereoPictureAssetReader (this));
+       return shared_ptr<StereoPictureAssetReader> (new StereoPictureAssetReader (this, key ()));
 }
 
 bool
 StereoPictureAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt, NoteHandler note) const
 {
        ASDCP::JP2K::MXFSReader 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::MXFSReader 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", file().string(), r));
+               boost::throw_exception (MXFFileError ("could not open MXF file for reading", other->file()->string(), r));
        }
 
        ASDCP::JP2K::PictureDescriptor desc_A;