+ shared_ptr<StringTextFileContent> s (new StringTextFileContent("test/data/subrip2.srt"));
+ film->examine_and_add_content (s);
+ BOOST_REQUIRE (!wait_for_jobs ());
+ s->only_text()->set_colour (dcp::Colour (255, 255, 0));
+ s->only_text()->set_effect (dcp::SHADOW);
+ s->only_text()->set_effect_colour (dcp::Colour (0, 255, 255));
+ film->write_metadata();
+
+ shared_ptr<Job> job (new TranscodeJob (film));
+ FFmpegEncoder encoder (film, job, "build/test/ffmpeg_encoder_h264_test2.mp4", EXPORT_FORMAT_H264, false, false, 23);
+ encoder.go ();
+}
+
+/** Video + subs -> H264 */
+BOOST_AUTO_TEST_CASE (ffmpeg_encoder_h264_test3)
+{
+ shared_ptr<Film> film = new_test_film ("ffmpeg_encoder_h264_test3");
+ film->set_name ("ffmpeg_encoder_h264_test3");
+ film->set_container (Ratio::from_id ("185"));
+ film->set_audio_channels (6);
+
+ shared_ptr<FFmpegContent> c (new FFmpegContent("test/data/test.mp4"));
+ film->examine_and_add_content (c);
+ BOOST_REQUIRE (!wait_for_jobs ());
+
+ shared_ptr<StringTextFileContent> s (new StringTextFileContent("test/data/subrip.srt"));
+ film->examine_and_add_content (s);
+ BOOST_REQUIRE (!wait_for_jobs ());
+ s->only_text()->set_colour (dcp::Colour (255, 255, 0));
+ s->only_text()->set_effect (dcp::SHADOW);
+ s->only_text()->set_effect_colour (dcp::Colour (0, 255, 255));
+ film->write_metadata();
+
+ shared_ptr<Job> job (new TranscodeJob (film));
+ FFmpegEncoder encoder (film, job, "build/test/ffmpeg_encoder_h264_test3.mp4", EXPORT_FORMAT_H264, false, false, 23);
+ encoder.go ();
+}
+
+/** Scope-in-flat DCP -> H264 */
+BOOST_AUTO_TEST_CASE (ffmpeg_encoder_h264_test4)
+{
+ shared_ptr<Film> film = new_test_film2("ffmpeg_encoder_h264_test4");
+ film->examine_and_add_content(shared_ptr<DCPContent>(new DCPContent("test/data/scope_dcp")));
+ BOOST_REQUIRE(!wait_for_jobs());
+
+ film->set_container(Ratio::from_id("185"));
+
+ shared_ptr<Job> job(new TranscodeJob(film));
+ FFmpegEncoder encoder(film, job, "build/test/ffmpeg_encoder_h264_test4.mp4", EXPORT_FORMAT_H264, false, false, 23);
+ encoder.go();
+}
+
+/** Test mixdown from 5.1 to stereo */
+BOOST_AUTO_TEST_CASE (ffmpeg_encoder_h264_test5)
+{
+ shared_ptr<Film> film = new_test_film ("ffmpeg_transcoder_h264_test5");
+ film->set_name ("ffmpeg_transcoder_h264_test5");
+ film->set_container (Ratio::from_id ("185"));
+ film->set_audio_channels (6);
+
+ shared_ptr<FFmpegContent> L (new FFmpegContent("test/data/L.wav"));