summaryrefslogtreecommitdiff
path: root/test/ffmpeg_dcp_test.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-06-04 11:26:47 +0100
committerCarl Hetherington <cth@carlh.net>2013-06-04 11:26:47 +0100
commit75de8898265611a4fc7068c40668ca697e6c1864 (patch)
tree45d88d38a088b9bd2eb93b5040cbf2f12270b9f2 /test/ffmpeg_dcp_test.cc
parent5670c00eee5ea3096e5fa79c17d81538914fff77 (diff)
A few more test fixes.
Diffstat (limited to 'test/ffmpeg_dcp_test.cc')
-rw-r--r--test/ffmpeg_dcp_test.cc63
1 files changed, 63 insertions, 0 deletions
diff --git a/test/ffmpeg_dcp_test.cc b/test/ffmpeg_dcp_test.cc
new file mode 100644
index 000000000..06cb56e7d
--- /dev/null
+++ b/test/ffmpeg_dcp_test.cc
@@ -0,0 +1,63 @@
+/*
+ Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+
+ This program 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,
+ 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.
+
+*/
+
+/** @file test/ffmpeg_dcp_test.cc
+ * @brief Test scaling and black-padding of images from a still-image source.
+ */
+
+BOOST_AUTO_TEST_CASE (ffmpeg_dcp_test)
+{
+ shared_ptr<Film> film = new_test_film ("ffmpeg_dcp_test");
+ film->set_name ("test_film2");
+ shared_ptr<FFmpegContent> c (new FFmpegContent (film, "test/data/test.mp4"));
+ c->set_ratio (Ratio::from_id ("185"));
+ film->examine_and_add_content (c);
+
+ /* Wait for the examine to finish */
+ while (JobManager::instance()->work_to_do ()) {
+ dcpomatic_sleep (1);
+ }
+
+ BOOST_CHECK_EQUAL (JobManager::instance()->errors(), false);
+
+ film->set_container (Ratio::from_id ("185"));
+ film->set_dcp_content_type (DCPContentType::from_pretty_name ("Test"));
+ film->make_dcp ();
+ film->write_metadata ();
+
+ while (JobManager::instance()->work_to_do ()) {
+ dcpomatic_sleep (1);
+ }
+
+ BOOST_CHECK_EQUAL (JobManager::instance()->errors(), false);
+}
+
+/** Test Film::have_dcp(). Requires the output from ffmpeg_dcp_test above */
+BOOST_AUTO_TEST_CASE (ffmpeg_have_dcp_test)
+{
+ boost::filesystem::path p = test_film_dir ("ffmpeg_dcp_test");
+ shared_ptr<Film> f (new Film (p.string ()));
+ f->read_metadata ();
+ BOOST_CHECK (f->have_dcp());
+
+ p /= f->dcp_name();
+ p /= f->dcp_video_mxf_filename();
+ boost::filesystem::remove (p);
+ BOOST_CHECK (!f->have_dcp ());
+}