diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-11-04 20:44:13 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-11-04 20:44:13 +0100 |
| commit | 052ec34bd487a3645013e87a7062738284d050df (patch) | |
| tree | b1a8c87e0e1a9ea9708931036c24114c5ebf191a | |
| parent | 7b0372776ac4da6a8e4ff29f41a4f08b9b4de506 (diff) | |
Add some new Waker calls.
| -rw-r--r-- | src/lib/encode_server.cc | 3 | ||||
| -rw-r--r-- | src/lib/ffmpeg_encoder.cc | 4 |
2 files changed, 7 insertions, 0 deletions
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> 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<DCPTimePeriod> reel_periods = _film->reels (); list<DCPTimePeriod>::const_iterator reel = reel_periods.begin (); list<FileEncoderSet>::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; |
