X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fffmpeg_encoder_test.cc;h=c3e8c9a81a8ccafa2713eac29325be836c8dbf41;hb=b52c9400cefe2b29a698336e35efb47ca3c5829f;hp=d0bce03567065c24860fb9ab63faeb78baa460ff;hpb=90846ade9558e460b68324478e81b5f8e87d8a4c;p=dcpomatic.git diff --git a/test/ffmpeg_encoder_test.cc b/test/ffmpeg_encoder_test.cc index d0bce0356..c3e8c9a81 100644 --- a/test/ffmpeg_encoder_test.cc +++ b/test/ffmpeg_encoder_test.cc @@ -21,6 +21,7 @@ #include "lib/audio_content.h" #include "lib/compose.hpp" +#include "lib/config.h" #include "lib/content_factory.h" #include "lib/dcp_content.h" #include "lib/ffmpeg_content.h" @@ -40,7 +41,6 @@ using std::string; using std::shared_ptr; using std::make_shared; -using boost::optional; using namespace dcpomatic; @@ -455,3 +455,32 @@ BOOST_AUTO_TEST_CASE (ffmpeg_encoder_h264_with_reels) check ("build/test/ffmpeg_encoder_h264_with_reels_reel2.mov"); } + +/** Regression test for "Error during decoding: Butler finished" (#2097) */ +BOOST_AUTO_TEST_CASE (ffmpeg_encoder_prores_regression_1) +{ + auto content = content_factory(TestPaths::private_data() / "arrietty_JP-EN.mkv").front(); + auto film = new_test_film2 ("ffmpeg_encoder_prores_regression_1", { content }); + + auto job = make_shared(film); + FFmpegEncoder encoder (film, job, "build/test/ffmpeg_encoder_prores_regression_1.mov", ExportFormat::PRORES, false, true, false, 23); + encoder.go (); +} + + +/** Regression test for Butler video buffers reached 480 frames (audio is 0) (#2101) */ +BOOST_AUTO_TEST_CASE (ffmpeg_encoder_prores_regression_2) +{ + auto logs = Config::instance()->log_types(); + Config::instance()->set_log_types(logs | LogEntry::TYPE_DEBUG_PLAYER); + + auto content = content_factory(TestPaths::private_data() / "tge_clip.mkv").front(); + auto film = new_test_film2 ("ffmpeg_encoder_prores_regression_2", { content }); + + auto job = make_shared(film); + FFmpegEncoder encoder (film, job, "build/test/ffmpeg_encoder_prores_regression_2.mov", ExportFormat::PRORES, false, true, false, 23); + encoder.go (); + + Config::instance()->set_log_types(logs); +} +