- pair<shared_ptr<PlayerVideo>, DCPTime> v = _butler->get_video (true, 0);
- encoder->get(v.first->eyes())->video(v.first, v.second);
+ 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);
+ }