diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-02-16 21:15:12 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-02-17 23:01:19 +0100 |
| commit | ca21cc2099526b68b9663d39c4e402c7faee7c5e (patch) | |
| tree | 9152dc207390ba5d09857fb7e6771eace2d46a13 | |
| parent | edf88c66ae4900f6090558dda0667b19857fcb14 (diff) | |
Better errors if butler doesn't give video during export.
| -rw-r--r-- | src/lib/ffmpeg_encoder.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/ffmpeg_encoder.cc b/src/lib/ffmpeg_encoder.cc index 4614903db..0233632d7 100644 --- a/src/lib/ffmpeg_encoder.cc +++ b/src/lib/ffmpeg_encoder.cc @@ -141,7 +141,11 @@ FFmpegEncoder::go () } for (int j = 0; j < gets_per_frame; ++j) { - pair<shared_ptr<PlayerVideo>, DCPTime> v = _butler->get_video (); + Butler::Error e; + pair<shared_ptr<PlayerVideo>, DCPTime> v = _butler->get_video (&e); + if (!v.first) { + throw ProgrammingError(__FILE__, __LINE__, String::compose("butler returned no video; error was %1", static_cast<int>(e))); + } shared_ptr<FFmpegFileEncoder> fe = encoder->get (v.first->eyes()); if (fe) { fe->video(v.first, v.second); |
