summaryrefslogtreecommitdiff
path: root/src/lib/encoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-02-11 00:18:40 +0000
committerCarl Hetherington <cth@carlh.net>2013-02-11 00:18:40 +0000
commitbeea3beacba34c11b6b73323f4c3c8590a9aa73e (patch)
tree70c7507dff9e52bddbe1052129e408a4b1df3764 /src/lib/encoder.cc
parentb45f90d8d504c15b60d2ae3a3344e8beb2947f8a (diff)
Basic attempt to catch exceptions in the writer thread and pass them safely back to the GUI.
Diffstat (limited to 'src/lib/encoder.cc')
-rw-r--r--src/lib/encoder.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc
index 0c810d12c..d64622cba 100644
--- a/src/lib/encoder.cc
+++ b/src/lib/encoder.cc
@@ -251,6 +251,10 @@ Encoder::process_video (shared_ptr<Image> image, bool same, boost::shared_ptr<Su
return;
}
+ if (_writer->thrown ()) {
+ _writer->rethrow ();
+ }
+
if (_writer->can_fake_write (_video_frames_out)) {
_writer->fake_write (_video_frames_out);
_have_a_real_frame = false;