summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/writer.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index 4c9749d89..109447f73 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -274,9 +274,14 @@ try
if (_film->length()) {
shared_ptr<Job> job = _job.lock ();
assert (job);
- job->set_progress (
- float (_full_written + _fake_written + _repeat_written) / _film->time_to_video_frames (_film->length())
- );
+ int total = _film->time_to_video_frames (_film->length ());
+ if (_film->three_d ()) {
+ /* _full_written and so on are incremented for each eye, so we need to double the total
+ frames to get the correct progress.
+ */
+ total *= 2;
+ }
+ job->set_progress (float (_full_written + _fake_written + _repeat_written) / total);
}
}