From: Carl Hetherington Date: Mon, 4 Nov 2019 19:44:13 +0000 (+0100) Subject: Add some new Waker calls. X-Git-Tag: v2.15.29~1 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=052ec34bd487a3645013e87a7062738284d050df Add some new Waker calls. --- diff --git a/src/lib/encode_server.cc b/src/lib/encode_server.cc index 16c65dba7..314f8f68d 100644 --- a/src/lib/encode_server.cc +++ b/src/lib/encode_server.cc @@ -326,6 +326,9 @@ EncodeServer::handle (shared_ptr socket) { boost::mutex::scoped_lock lock (_mutex); + Waker waker; + waker.nudge (); + /* Wait until the queue has gone down a bit */ while (_queue.size() >= _worker_threads.size() * 2 && !_terminate) { _full_condition.wait (lock); diff --git a/src/lib/ffmpeg_encoder.cc b/src/lib/ffmpeg_encoder.cc index 49908587b..6c0061670 100644 --- a/src/lib/ffmpeg_encoder.cc +++ b/src/lib/ffmpeg_encoder.cc @@ -130,6 +130,8 @@ FFmpegEncoder::go () job->sub (_("Encoding")); } + Waker waker; + list reel_periods = _film->reels (); list::const_iterator reel = reel_periods.begin (); list::iterator encoder = _file_encoders.begin (); @@ -166,6 +168,8 @@ FFmpegEncoder::go () job->set_progress (float(i.get()) / _film->length().get()); } + waker.nudge (); + _butler->get_audio (interleaved, audio_frames); /* XXX: inefficient; butler interleaves and we deinterleave again */ float* p = interleaved;