summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-12-06 15:54:53 +0000
committerCarl Hetherington <cth@carlh.net>2015-12-06 15:54:53 +0000
commita942c0320de09a00bd7671fb01aef2506482419c (patch)
treee7786fc7f6b2603f8ebee68793786836ad1638e1 /src/lib
parentf590937e85c5642057b1a1475aa167b81fe6a8bd (diff)
Don't go into an infinite loop when recovering from a previous run in which the even the first frame was not completed.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/reel_writer.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc
index b26ff8064..609ea8437 100644
--- a/src/lib/reel_writer.cc
+++ b/src/lib/reel_writer.cc
@@ -51,6 +51,7 @@
using std::list;
using std::string;
+using std::cout;
using boost::shared_ptr;
using boost::optional;
using boost::dynamic_pointer_cast;
@@ -198,7 +199,7 @@ ReelWriter::check_existing_picture_asset ()
bool ok = false;
- while (!ok) {
+ while (!ok && _first_nonexistant_frame > 0) {
/* Read the data from the info file; for 3D we just check the left
frames until we find a good one.
*/
@@ -227,7 +228,7 @@ ReelWriter::check_existing_picture_asset ()
}
}
- if (!_film->three_d ()) {
+ if (!_film->three_d() && ok) {
/* If we are doing 3D we might have found a good L frame with no R, so only
do this if we're in 2D and we've just found a good B(oth) frame.
*/