From 24ef3197488f259f2ec62aefd4ca15bac6797454 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 11 Feb 2014 09:50:33 +0000 Subject: Fix crash at the end of encodes. --- src/lib/transcode_job.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/lib/transcode_job.cc') diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc index f0e22da64..5c195ee1b 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 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 */ - OutputVideoFrame const left = _film->time_to_video_frames (_film->length ()) - _transcoder->video_frames_out(); + OutputVideoFrame const left = _film->time_to_video_frames (_film->length ()) - t->video_frames_out(); return left / fps; } -- cgit v1.2.3