summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_encoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-10-11 10:51:43 +0200
committerCarl Hetherington <cth@carlh.net>2021-10-12 10:18:55 +0200
commitc9d6036eaf3cff693d3661167f84b29be4e4e3ae (patch)
tree219b38c57f6296895b993d17a7895c31e1d9c9e7 /src/lib/ffmpeg_encoder.cc
parent8044bcbf5ec36ced1d507742c6c3d654dd961ed9 (diff)
Don't throw an error when the Butler says it is finished (#2097).
Diffstat (limited to 'src/lib/ffmpeg_encoder.cc')
-rw-r--r--src/lib/ffmpeg_encoder.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/lib/ffmpeg_encoder.cc b/src/lib/ffmpeg_encoder.cc
index e3a37677b..f8309048c 100644
--- a/src/lib/ffmpeg_encoder.cc
+++ b/src/lib/ffmpeg_encoder.cc
@@ -178,12 +178,15 @@ FFmpegEncoder::go ()
Butler::Error e;
auto v = _butler->get_video (true, &e);
_butler->rethrow ();
- if (!v.first) {
- throw DecodeError(String::compose("Error during decoding: %1", e.summary()));
- }
- auto fe = encoder->get (v.first->eyes());
- if (fe) {
- fe->video(v.first, v.second - reel->from);
+ if (v.first) {
+ auto fe = encoder->get (v.first->eyes());
+ if (fe) {
+ fe->video(v.first, v.second - reel->from);
+ }
+ } else {
+ if (e.code != Butler::Error::Code::FINISHED) {
+ throw DecodeError(String::compose("Error during decoding: %1", e.summary()));
+ }
}
}