-Subproject commit 24df650e742a9a19ffd6adad42413eb9491e61b7
+Subproject commit 6b694889479064979b52c1839a1919dc5fde6731
/*
- Copyright (C) 2017 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2017-2020 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
#include "test.h"
#include <boost/test/unit_test.hpp>
+using std::list;
using boost::shared_ptr;
using namespace dcpomatic;
shared_ptr<Player> player (new Player(film, film->playlist()));
Empty black (film, player->_pieces, bind(&has_video, _1));
- BOOST_REQUIRE_EQUAL (black._periods.size(), 2);
- BOOST_CHECK (black._periods.front().from == DCPTime());
- BOOST_CHECK (black._periods.front().to == DCPTime::from_frames(2, vfr));
- BOOST_CHECK (black._periods.back().from == DCPTime::from_frames(5, vfr));
- BOOST_CHECK (black._periods.back().to == DCPTime::from_frames(7, vfr));
+ BOOST_REQUIRE_EQUAL (black._periods.size(), 3);
+ list<dcpomatic::DCPTimePeriod>::const_iterator i = black._periods.begin();
+ BOOST_CHECK (i->from == DCPTime());
+ BOOST_CHECK (i->to == DCPTime::from_frames(2, vfr));
+ ++i;
+ BOOST_CHECK (i->from == DCPTime::from_frames(5, vfr));
+ BOOST_CHECK (i->to == DCPTime::from_frames(7, vfr));
+ ++i;
+ BOOST_CHECK (i->from == DCPTime::from_frames(8, vfr));
+ BOOST_CHECK (i->to == DCPTime::from_frames(24, vfr));
}
/** Some tests where the first empty period is not at time 0 */
shared_ptr<Player> player (new Player(film, film->playlist()));
Empty black (film, player->_pieces, bind(&has_video, _1));
- BOOST_REQUIRE_EQUAL (black._periods.size(), 1);
+ BOOST_REQUIRE_EQUAL (black._periods.size(), 2);
BOOST_CHECK (black._periods.front().from == DCPTime::from_frames(3, vfr));
BOOST_CHECK (black._periods.front().to == DCPTime::from_frames(7, vfr));
black.set_position (DCPTime::from_frames (4, vfr));
BOOST_CHECK (!black.done ());
black.set_position (DCPTime::from_frames (7, vfr));
+ BOOST_CHECK (!black.done ());
+ black.set_position (DCPTime::from_frames (24, vfr));
BOOST_CHECK (black.done ());
}
/*
- Copyright (C) 2016 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2016-2020 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
#include "lib/film.h"
#include "lib/ffmpeg_content.h"
#include "lib/dcp_content_type.h"
+#include "lib/video_content.h"
#include <boost/test/unit_test.hpp>
#include <boost/regex.hpp>
shared_ptr<Film> film = new_test_film ("file_naming_test");
film->set_name ("file_naming_test");
+ film->set_video_frame_rate (24);
film->set_dcp_content_type (DCPContentType::from_isdcf_name ("FTR"));
shared_ptr<FFmpegContent> r (new FFmpegContent("test/data/flat_red.png"));
film->examine_and_add_content (r);
film->examine_and_add_content (b);
BOOST_REQUIRE (!wait_for_jobs());
+ r->set_position (film, dcpomatic::DCPTime::from_seconds(0));
+ r->set_video_frame_rate (24);
+ r->video->set_length (24);
+ g->set_position (film, dcpomatic::DCPTime::from_seconds(1));
+ g->set_video_frame_rate (24);
+ g->video->set_length (24);
+ b->set_position (film, dcpomatic::DCPTime::from_seconds(2));
+ b->set_video_frame_rate (24);
+ b->video->set_length (24);
+
film->set_reel_type (REELTYPE_BY_VIDEO_CONTENT);
+ film->write_metadata ();
film->make_dcp ();
BOOST_REQUIRE (!wait_for_jobs());
film->examine_and_add_content (b);
BOOST_REQUIRE (!wait_for_jobs());
+ r->set_position (film, dcpomatic::DCPTime::from_seconds(0));
+ r->set_video_frame_rate (24);
+ r->video->set_length (24);
+ g->set_position (film, dcpomatic::DCPTime::from_seconds(1));
+ g->set_video_frame_rate (24);
+ g->video->set_length (24);
+ b->set_position (film, dcpomatic::DCPTime::from_seconds(2));
+ b->set_video_frame_rate (24);
+ b->video->set_length (24);
+
film->set_reel_type (REELTYPE_BY_VIDEO_CONTENT);
film->make_dcp ();
BOOST_REQUIRE (!wait_for_jobs());
film->make_dcp ();
BOOST_REQUIRE (!wait_for_jobs());
- /* Should be 32 frames of red */
+ /* Should be 32 frames of red followed by 16 frames of black to fill the DCP up to 1 second */
check_dcp ("test/data/repeat_frame_test", film->dir (film->dcp_name ()));
}
using boost::shared_ptr;
using boost::dynamic_pointer_cast;
-static boost::filesystem::path ref_mxf = "test/data/scaling_test_185_185/j2c_a41afbff-e1ad-41c4-9a84-de315b95dd0f.mxf";
+static boost::filesystem::path ref_mxf = "test/data/scaling_test_185_185/j2c_bff270b1-cf7c-483b-be22-265aee6097ba.mxf";
static void note (dcp::NoteType, std::string)
{