summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_encoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-02-16 21:15:12 +0100
committerCarl Hetherington <cth@carlh.net>2020-02-16 21:15:12 +0100
commit4787f3a114115a16f7007c7b1bd36fb2e2121345 (patch)
tree394c6500a26392e17883eae595eb8d84c216f87e /src/lib/ffmpeg_encoder.cc
parentf61b5b84f0ac2c1ea32e89f897a1b62630e3b2f7 (diff)
Better errors if butler doesn't give video during export.
Diffstat (limited to 'src/lib/ffmpeg_encoder.cc')
-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 6b3118537..61e489f07 100644
--- a/src/lib/ffmpeg_encoder.cc
+++ b/src/lib/ffmpeg_encoder.cc
@@ -152,7 +152,11 @@ FFmpegEncoder::go ()
}
for (int j = 0; j < gets_per_frame; ++j) {
- pair<shared_ptr<PlayerVideo>, DCPTime> v = _butler->get_video (true, 0);
+ Butler::Error e;
+ pair<shared_ptr<PlayerVideo>, 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<int>(e)));
+ }
shared_ptr<FFmpegFileEncoder> fe = encoder->get (v.first->eyes());
if (fe) {
fe->video(v.first, v.second);