summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-02-16 21:15:12 +0100
committerCarl Hetherington <cth@carlh.net>2020-02-17 23:01:19 +0100
commitca21cc2099526b68b9663d39c4e402c7faee7c5e (patch)
tree9152dc207390ba5d09857fb7e6771eace2d46a13
parentedf88c66ae4900f6090558dda0667b19857fcb14 (diff)
Better errors if butler doesn't give video during export.
-rw-r--r--src/lib/ffmpeg_encoder.cc6
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);