+ auto film = new_test_film("recover_test_2d");
+ film->set_interop (false);
+ film->set_dcp_content_type (DCPContentType::from_isdcf_name ("FTR"));
+ film->set_container (Ratio::from_id ("185"));
+ film->set_name ("recover_test");
+
+ auto content = make_shared<FFmpegContent>("test/data/count300bd24.m2ts");
+ film->examine_and_add_content (content);
+ BOOST_REQUIRE (!wait_for_jobs());
+
+ make_and_verify_dcp (
+ film,
+ {
+ dcp::VerificationNote::Code::MISSING_FFMC_IN_FEATURE,
+ dcp::VerificationNote::Code::MISSING_FFEC_IN_FEATURE
+ });
+
+ boost::filesystem::path const video = "build/test/recover_test_2d/video/185_2K_4650f318cea570763a0c6411c8c098ce_24_100000000_P_S_L21_0_1200000.mxf";
+ boost::filesystem::copy_file (
+ video,
+ "build/test/recover_test_2d/original.mxf"
+ );
+
+ boost::filesystem::resize_file (video, 2 * 1024 * 1024);
+
+ make_and_verify_dcp(
+ film,
+ {
+ dcp::VerificationNote::Code::MISSING_FFEC_IN_FEATURE,
+ dcp::VerificationNote::Code::MISSING_FFMC_IN_FEATURE
+ },
+ true,
+ /* We end up with two CPLs in this directory, which Clairmeta gives an error for */
+ false
+ );
+
+ auto A = make_shared<dcp::MonoPictureAsset>("build/test/recover_test_2d/original.mxf");
+ auto B = make_shared<dcp::MonoPictureAsset>(video);
+
+ dcp::EqualityOptions eq;
+ BOOST_CHECK (A->equals (B, eq, boost::bind (¬e, _1, _2)));
+}
+
+
+BOOST_AUTO_TEST_CASE (recover_test_3d, * boost::unit_test::depends_on("recover_test_2d"))
+{
+ auto film = new_test_film ("recover_test_3d");
+ film->set_interop (false);
+ film->set_dcp_content_type (DCPContentType::from_isdcf_name ("FTR"));