X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Frecovery_test.cc;h=6c4f6ac918c08a217dce12bf4692145f396b0f97;hb=4d6f5ea3dcaddeed0695fe31fecca78666a5c81c;hp=b67c54f719134ad931fc6a57b8a1292eb1821ef4;hpb=0703842433013ac1d5f79c09d7a8361dc2e565c8;p=libdcp.git diff --git a/test/recovery_test.cc b/test/recovery_test.cc index b67c54f7..6c4f6ac9 100644 --- a/test/recovery_test.cc +++ b/test/recovery_test.cc @@ -1,35 +1,35 @@ /* Copyright (C) 2012-2013 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of libdcp. + + libdcp is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + libdcp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - + along with libdcp. If not, see . */ +#include "mono_picture_asset_writer.h" +#include "mono_picture_asset.h" +#include #include #include -#include "mono_picture_mxf_writer.h" -#include "mono_picture_mxf.h" -#include "KM_util.h" using std::string; using boost::shared_ptr; -/* Check that recovery from a partially-written MXF works */ +/** Check that recovery from a partially-written MXF works */ BOOST_AUTO_TEST_CASE (recovery) { - Kumu::libdcp_test = true; + Kumu::cth_test = true; string const picture = "test/data/32x32_red_square.j2c"; int const size = boost::filesystem::file_size (picture); @@ -44,17 +44,17 @@ BOOST_AUTO_TEST_CASE (recovery) #ifdef LIBDCP_POSIX /* XXX: fix this posix-only stuff */ Kumu::ResetTestRNG (); -#endif - +#endif + boost::filesystem::remove_all ("build/test/baz"); boost::filesystem::create_directories ("build/test/baz"); - shared_ptr mp (new dcp::MonoPictureMXF (24)); - mp->set_size (dcp::Size (32, 32)); - shared_ptr writer = mp->start_write ("build/test/baz/video1.mxf", false); + shared_ptr mp (new dcp::MonoPictureAsset (dcp::Fraction (24, 1))); + shared_ptr writer = mp->start_write ("build/test/baz/video1.mxf", dcp::SMPTE, false); int written_size = 0; for (int i = 0; i < 24; ++i) { dcp::FrameInfo info = writer->write (data, size); + BOOST_CHECK_EQUAL (info.hash, "cb90485a97ea5f7555cedc8a7afd473b"); written_size = info.size; } @@ -65,7 +65,7 @@ BOOST_AUTO_TEST_CASE (recovery) boost::filesystem::resize_file ("build/test/baz/video2.mxf", 16384 + 353 * 11); { - FILE* f = fopen ("build/test/baz/video2.mxf", "r+"); + FILE* f = fopen ("build/test/baz/video2.mxf", "rb+"); rewind (f); char zeros[256]; memset (zeros, 0, 256); @@ -73,13 +73,12 @@ BOOST_AUTO_TEST_CASE (recovery) fclose (f); } -#ifdef LIBDCP_POSIX +#ifdef LIBDCP_POSIX Kumu::ResetTestRNG (); -#endif +#endif - mp.reset (new dcp::MonoPictureMXF (24)); - mp->set_size (dcp::Size (32, 32)); - writer = mp->start_write ("build/test/baz/video2.mxf", true); + mp.reset (new dcp::MonoPictureAsset (dcp::Fraction (24, 1))); + writer = mp->start_write ("build/test/baz/video2.mxf", dcp::SMPTE, true); writer->write (data, size); @@ -90,6 +89,6 @@ BOOST_AUTO_TEST_CASE (recovery) for (int i = 4; i < 24; ++i) { writer->write (data, size); } - + writer->finalize (); }