summaryrefslogtreecommitdiff
path: root/src/lib/transcode_job.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-09-28 23:09:15 +0100
committerCarl Hetherington <cth@carlh.net>2012-09-28 23:09:15 +0100
commitc0ed407fb02891f0dd364e78b6192f0e6dbe1d8d (patch)
treecfa1abb09f891f220f15886b4cad2d1562f4a79c /src/lib/transcode_job.cc
parentd50fe6707c973d4a1397aa40b67ae753744ce748 (diff)
parentc252cb33a3ca8088fbe091af903a77ad8a098969 (diff)
Merge branch 'master' of /home/carl/git/dvdomatic
Diffstat (limited to 'src/lib/transcode_job.cc')
-rw-r--r--src/lib/transcode_job.cc22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc
index 652a18441..9113593f0 100644
--- a/src/lib/transcode_job.cc
+++ b/src/lib/transcode_job.cc
@@ -78,7 +78,6 @@ TranscodeJob::run ()
_log->log (s.str ());
throw;
-
}
}
@@ -88,13 +87,30 @@ TranscodeJob::status () const
if (!_encoder) {
return "0%";
}
+
+ if (_encoder->skipping () && !finished ()) {
+ return "skipping already-encoded frames";
+ }
+
float const fps = _encoder->current_frames_per_second ();
if (fps == 0) {
return Job::status ();
}
-
+
stringstream s;
- s << Job::status () << "; about " << fixed << setprecision (1) << fps << " frames per second.";
+
+ s << Job::status () << "; " << fixed << setprecision (1) << fps << " frames per second";
return s.str ();
}
+
+int
+TranscodeJob::remaining_time () const
+{
+ float fps = _encoder->current_frames_per_second ();
+ if (fps == 0) {
+ return 0;
+ }
+
+ return ((_fs->length - _encoder->last_frame()) / fps);
+}