diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-09-28 23:09:15 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-09-28 23:09:15 +0100 |
| commit | c0ed407fb02891f0dd364e78b6192f0e6dbe1d8d (patch) | |
| tree | cfa1abb09f891f220f15886b4cad2d1562f4a79c /src/lib/transcode_job.cc | |
| parent | d50fe6707c973d4a1397aa40b67ae753744ce748 (diff) | |
| parent | c252cb33a3ca8088fbe091af903a77ad8a098969 (diff) | |
Merge branch 'master' of /home/carl/git/dvdomatic
Diffstat (limited to 'src/lib/transcode_job.cc')
| -rw-r--r-- | src/lib/transcode_job.cc | 22 |
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); +} |
