X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fffmpeg_encoder_test.cc;h=993da4d2348a84e32d9a681900092b81bad1c846;hb=6c429da71c7bbb3045b57e11a7040126915b6a62;hp=d0bce03567065c24860fb9ab63faeb78baa460ff;hpb=90846ade9558e460b68324478e81b5f8e87d8a4c;p=dcpomatic.git diff --git a/test/ffmpeg_encoder_test.cc b/test/ffmpeg_encoder_test.cc index d0bce0356..993da4d23 100644 --- a/test/ffmpeg_encoder_test.cc +++ b/test/ffmpeg_encoder_test.cc @@ -21,8 +21,10 @@ #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/dcpomatic_log.h" #include "lib/ffmpeg_content.h" #include "lib/ffmpeg_encoder.h" #include "lib/ffmpeg_examiner.h" @@ -40,7 +42,6 @@ using std::string; using std::shared_ptr; using std::make_shared; -using boost::optional; using namespace dcpomatic; @@ -455,3 +456,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 = dcpomatic_log->types(); + dcpomatic_log->set_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 (); + + dcpomatic_log->set_types(logs); +} +