diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-09-21 00:14:21 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-09-21 00:14:21 +0100 |
| commit | f9d0bc389d3f36263fb7a3b54d2263878a8ea7fb (patch) | |
| tree | ab921eabd4b9bc520d71a226c79a54c11a3aa343 /test | |
| parent | b9f0e5f6ca2e57980f94f2e16f814b289411e9e3 (diff) | |
Trim referred-to DCPs correctly using CPL entry point / duration.
Diffstat (limited to 'test')
| -rw-r--r-- | test/vf_test.cc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/vf_test.cc b/test/vf_test.cc index 4bfb2ad6e..ab39a6510 100644 --- a/test/vf_test.cc +++ b/test/vf_test.cc @@ -131,3 +131,40 @@ BOOST_AUTO_TEST_CASE (vf_test2) BOOST_CHECK_EQUAL (vf_c.cpls().front()->reels().front()->main_sound()->id(), sound_id); BOOST_REQUIRE (vf_c.cpls().front()->reels().front()->main_subtitle()); } + +/** Test creation of a VF using a trimmed OV; the output should have entry point / + * duration altered to effect the trimming. + */ +BOOST_AUTO_TEST_CASE (vf_test3) +{ + /* Make the OV */ + shared_ptr<Film> ov = new_test_film ("vf_test3_ov"); + ov->set_dcp_content_type (DCPContentType::from_isdcf_name ("TST")); + ov->set_name ("vf_test3_ov"); + shared_ptr<Content> video = content_factory (ov, "test/data/flat_red.png"); + ov->examine_and_add_content (video); + wait_for_jobs (); + video->video->set_length (24 * 5); + shared_ptr<Content> audio = content_factory (ov, "test/data/white.wav"); + ov->examine_and_add_content (audio); + wait_for_jobs (); + ov->make_dcp (); + wait_for_jobs (); + + /* Make the VF */ + shared_ptr<Film> vf = new_test_film ("vf_test3_vf"); + vf->set_name ("vf_test3_vf"); + vf->set_dcp_content_type (DCPContentType::from_isdcf_name ("TST")); + vf->set_reel_type (REELTYPE_BY_VIDEO_CONTENT); + shared_ptr<DCPContent> dcp = dynamic_pointer_cast<DCPContent> (content_factory (vf, ov->dir (ov->dcp_name ()))); + BOOST_REQUIRE (dcp); + dcp->set_trim_start (ContentTime::from_seconds (1)); + dcp->set_trim_end (ContentTime::from_seconds (1)); + vf->examine_and_add_content (dcp); + wait_for_jobs (); + dcp->set_reference_video (true); + dcp->set_reference_audio (true); + vf->make_dcp (); + wait_for_jobs (); + vf->write_metadata (); +} |
