film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TST"));
{
- shared_ptr<ImageContent> c (new ImageContent("test/data/flat_red.png"));
+ auto c = make_shared<ImageContent>("test/data/flat_red.png");
film->examine_and_add_content (c);
BOOST_REQUIRE (!wait_for_jobs());
c->video->set_length (24);
}
{
- shared_ptr<ImageContent> c (new ImageContent("test/data/flat_green.png"));
+ auto c = make_shared<ImageContent>("test/data/flat_green.png");
film->examine_and_add_content (c);
BOOST_REQUIRE (!wait_for_jobs());
c->video->set_length (24);
}
{
- shared_ptr<ImageContent> c (new ImageContent("test/data/flat_blue.png"));
+ auto c = make_shared<ImageContent>("test/data/flat_blue.png");
film->examine_and_add_content (c);
BOOST_REQUIRE (!wait_for_jobs());
c->video->set_length (24);
BOOST_CHECK_EQUAL (film->reels().size(), 3U);
BOOST_REQUIRE (!wait_for_jobs());
+ film->set_audio_channels(16);
+
make_and_verify_dcp (film);
check_dcp ("test/data/reels_test2", film->dir (film->dcp_name()));
auto c = make_shared<DCPContent>(film->dir(film->dcp_name()));
auto film2 = new_test_film2 ("reels_test2b", {c});
film2->set_reel_type (ReelType::BY_VIDEO_CONTENT);
+ film2->set_audio_channels(16);
auto r = film2->reels ();
BOOST_CHECK_EQUAL (r.size(), 3U);
c->set_reference_video (true);
c->set_reference_audio (true);
- make_and_verify_dcp (film2, {dcp::VerificationNote::Code::EXTERNAL_ASSET});
+ make_and_verify_dcp(film2, {dcp::VerificationNote::Code::EXTERNAL_ASSET}, false);
}
/* 4 piece of 1s-long content */
shared_ptr<ImageContent> content[4];
for (int i = 0; i < 4; ++i) {
- content[i].reset (new ImageContent("test/data/flat_green.png"));
+ content[i] = make_shared<ImageContent>("test/data/flat_green.png");
film->examine_and_add_content (content[i]);
BOOST_REQUIRE (!wait_for_jobs());
content[i]->video->set_length (24);
film->examine_and_add_content (subs);
BOOST_REQUIRE (!wait_for_jobs());
+ film->set_audio_channels(16);
+
auto reels = film->reels();
BOOST_REQUIRE_EQUAL (reels.size(), 4U);
auto i = reels.begin ();
}
{
- dcp->set_trim_start (ContentTime::from_seconds (0.5));
+ dcp->set_trim_start(film, ContentTime::from_seconds(0.5));
auto p = dcp->reels (film);
BOOST_REQUIRE_EQUAL (p.size(), 4U);
auto i = p.begin();
}
{
- dcp->set_trim_start (ContentTime::from_seconds (1.5));
+ dcp->set_trim_start(film, ContentTime::from_seconds(1.5));
auto p = dcp->reels (film);
BOOST_REQUIRE_EQUAL (p.size(), 3U);
auto i = p.begin();
film->set_reel_type (ReelType::BY_LENGTH);
/* This is just over 2.5s at 100Mbit/s; should correspond to 60 frames */
film->set_reel_length (31253154);
+ /* dcp_inspect and clairmeta both give errors about reel <1s in length */
make_and_verify_dcp (
film,
{
dcp::VerificationNote::Code::INVALID_INTRINSIC_DURATION,
dcp::VerificationNote::Code::INVALID_DURATION,
- });
+ },
+ false,
+ false
+ );
}
dcp::VerificationNote::Code::MISSING_SUBTITLE_LANGUAGE,
dcp::VerificationNote::Code::INVALID_SUBTITLE_FIRST_TEXT_TIME,
dcp::VerificationNote::Code::INVALID_SUBTITLE_DURATION,
- });
+ },
+ false);
}
auto film = new_test_film2 ("reels_test11", {A});
film->set_video_frame_rate (24);
A->video->set_length (240);
- A->set_video_frame_rate (24);
+ A->set_video_frame_rate(film, 24);
A->set_position (film, DCPTime::from_seconds(1));
film->set_reel_type (ReelType::BY_VIDEO_CONTENT);
make_and_verify_dcp (film);
film->set_sequence (false);
A->video->set_length (240);
- A->set_video_frame_rate (24);
+ A->set_video_frame_rate(film, 24);
A->set_position (film, DCPTime::from_seconds(1));
B->video->set_length (120);
- B->set_video_frame_rate (24);
+ B->set_video_frame_rate(film, 24);
B->set_position (film, DCPTime::from_seconds(14));
auto r = film->reels ();
make_and_verify_dcp (film);
vector<boost::filesystem::path> dirs = { film->dir(film->dcp_name(false)) };
- auto notes = dcp::verify(dirs, boost::bind(&no_op), boost::bind(&no_op), TestPaths::xsd());
+ auto notes = dcp::verify(dirs, {}, boost::bind(&no_op), boost::bind(&no_op), {}, TestPaths::xsd());
dump_notes (notes);
BOOST_REQUIRE (notes.empty());
}
make_and_verify_dcp (film);
vector<boost::filesystem::path> dirs = { film->dir(film->dcp_name(false)) };
- auto const notes = dcp::verify(dirs, boost::bind(&no_op), boost::bind(&no_op), TestPaths::xsd());
+ auto const notes = dcp::verify(dirs, {}, boost::bind(&no_op), boost::bind(&no_op), {}, TestPaths::xsd());
dump_notes (notes);
BOOST_REQUIRE (notes.empty());
}
make_and_verify_dcp (film);
- auto const notes = dcp::verify({}, boost::bind(&no_op), boost::bind(&no_op), TestPaths::xsd());
+ auto const notes = dcp::verify({}, {}, boost::bind(&no_op), boost::bind(&no_op), {}, TestPaths::xsd());
dump_notes (notes);
BOOST_REQUIRE (notes.empty());
}
BOOST_REQUIRE (!wait_for_jobs());
vector<boost::filesystem::path> dirs = { film->dir(film->dcp_name(false)) };
- auto const notes = dcp::verify(dirs, boost::bind(&no_op), boost::bind(&no_op), TestPaths::xsd());
+ auto const notes = dcp::verify(dirs, {}, boost::bind(&no_op), boost::bind(&no_op), {}, TestPaths::xsd());
dump_notes (notes);
BOOST_REQUIRE (notes.empty());
}
for (int i = 0; i < 4; ++i) {
original_dcp[i]->set_position(film2, DCPTime::from_frames(total_frames * i / 4, frame_rate));
- original_dcp[i]->set_trim_start(ContentTime::from_frames(total_frames * i / 4, frame_rate));
+ original_dcp[i]->set_trim_start(film2, ContentTime::from_frames(total_frames * i / 4, frame_rate));
original_dcp[i]->set_trim_end (ContentTime::from_frames(total_frames * (4 - i - 1) / 4, frame_rate));
original_dcp[i]->set_reference_video(true);
original_dcp[i]->set_reference_audio(true);
}
- make_and_verify_dcp(film2, { dcp::VerificationNote::Code::EXTERNAL_ASSET });
+ make_and_verify_dcp(film2, { dcp::VerificationNote::Code::EXTERNAL_ASSET }, false);
dcp::DCP check1(film1->dir(film1->dcp_name()));
check1.read();