Allow static builds.
[dcpomatic.git] / src / lib / transcode_job.cc
index cf16b8ab650982b8e65b09b4c50909af6d39f8b6..081e042521c962aa49c43b0a89c9732b0b6d479e 100644 (file)
@@ -39,6 +39,7 @@ using boost::shared_ptr;
 
 /** @param s Film to use.
  *  @param o Options.
+ *  @param req Job that must be completed before this job is run.
  */
 TranscodeJob::TranscodeJob (shared_ptr<Film> f, shared_ptr<const Options> o, shared_ptr<Job> req)
        : Job (f, req)
@@ -59,6 +60,7 @@ TranscodeJob::run ()
        try {
 
                _film->log()->log ("Transcode job starting");
+               _film->log()->log (String::compose ("Audio delay is %1ms", _film->audio_delay()));
 
                _encoder = encoder_factory (_film, _opt);
                Transcoder w (_film, _opt, this, _encoder);
@@ -97,7 +99,12 @@ TranscodeJob::status () const
 
        stringstream s;
 
-       s << Job::status () << "; " << fixed << setprecision (1) << fps << " frames per second";
+       s << Job::status ();
+
+       if (!finished ()) {
+               s << "; " << fixed << setprecision (1) << fps << " frames per second";
+       }
+       
        return s.str ();
 }
 
@@ -109,5 +116,7 @@ TranscodeJob::remaining_time () const
                return 0;
        }
 
-       return ((_film->dcp_length() - _encoder->last_frame()) / fps);
+       /* We assume that dcp_length() is valid */
+       SourceFrame const left = _film->dcp_trim_start() + _film->dcp_length().get() - _encoder->video_frame();
+       return left / fps;
 }