X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_encoder.cc;h=61e489f071c112e6d092438430ba919e83654a2d;hb=736745c86cefc6d5d4d8098799efc86f0f639061;hp=19ab3b3d7b2306f9e8ea564355e73825df46ce67;hpb=70f5ab36c2b985b8b82aea3187964de41930fc94;p=dcpomatic.git diff --git a/src/lib/ffmpeg_encoder.cc b/src/lib/ffmpeg_encoder.cc index 19ab3b3d7..61e489f07 100644 --- a/src/lib/ffmpeg_encoder.cc +++ b/src/lib/ffmpeg_encoder.cc @@ -59,7 +59,7 @@ FFmpegEncoder::FFmpegEncoder ( #endif ) : Encoder (film, job) - , _history (1000) + , _history (200) { int const files = split_reels ? film->reels().size() : 1; for (int i = 0; i < files; ++i) { @@ -152,7 +152,11 @@ FFmpegEncoder::go () } for (int j = 0; j < gets_per_frame; ++j) { - pair, DCPTime> v = _butler->get_video (true, 0); + Butler::Error e; + pair, DCPTime> v = _butler->get_video (true, &e); + if (!v.first) { + throw ProgrammingError(__FILE__, __LINE__, String::compose("butler returned no video; error was %1", static_cast(e))); + } shared_ptr fe = encoder->get (v.first->eyes()); if (fe) { fe->video(v.first, v.second);