X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fencoder.cc;h=c1d1041ae539f9cdab1f087291eb2d8d7104abbb;hb=f861018389acd9d277fe34d7621182b9b54f977f;hp=f56440dd7c1026bfb97f564410bb8c36512beac3;hpb=afc495f722f89fea0bcc579046d1a5d362e36f69;p=dcpomatic.git diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc index f56440dd7..c1d1041ae 100644 --- a/src/lib/encoder.cc +++ b/src/lib/encoder.cc @@ -240,7 +240,7 @@ Encoder::frame_done () } void -Encoder::process_video (shared_ptr image, bool same, shared_ptr sub) +Encoder::process_video (shared_ptr image, bool same, shared_ptr sub) { FrameRateConversion frc (_film->video_frame_rate(), _film->dcp_frame_rate()); @@ -303,7 +303,7 @@ Encoder::process_video (shared_ptr image, bool same, shared_ptr } void -Encoder::process_audio (shared_ptr data) +Encoder::process_audio (shared_ptr data) { #if HAVE_SWRESAMPLE /* Maybe sample-rate convert */ @@ -342,7 +342,9 @@ Encoder::terminate_threads () lock.unlock (); for (list::iterator i = _threads.begin(); i != _threads.end(); ++i) { - (*i)->join (); + if ((*i)->joinable ()) { + (*i)->join (); + } delete *i; } }