diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-02-11 12:04:27 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-02-11 12:04:27 +0000 |
| commit | 8aeb741ccbe2edb528e98a431bf55459a6836a9b (patch) | |
| tree | a14569b531d9867683a1ac1c94c8e0eb406906a8 /src/lib/transcode_job.cc | |
| parent | 4ba8772aef261da209bbb882325fd61a8b479fd7 (diff) | |
| parent | 22f2cd94132f93a159c2ce9fe263771cb5a5dbdf (diff) | |
Merge master.
Diffstat (limited to 'src/lib/transcode_job.cc')
| -rw-r--r-- | src/lib/transcode_job.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc index 289259369..46fc97fb3 100644 --- a/src/lib/transcode_job.cc +++ b/src/lib/transcode_job.cc @@ -100,17 +100,20 @@ TranscodeJob::status () const int TranscodeJob::remaining_time () const { - if (!_transcoder) { + /* _transcoder might be destroyed by the job-runner thread */ + shared_ptr<Transcoder> t = _transcoder; + + if (!t) { return 0; } - float fps = _transcoder->current_encoding_rate (); + float fps = t->current_encoding_rate (); if (fps == 0) { return 0; } /* Compute approximate proposed length here, as it's only here that we need it */ - VideoFrame const left = _film->time_to_video_frames (_film->length ()) - _transcoder->video_frames_out(); + VideoFrame const left = _film->time_to_video_frames (_film->length ()) - t->video_frames_out(); return left / fps; } |
