diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-05-12 15:38:31 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-05-15 23:49:51 +0200 |
| commit | 61130610f6d01fe6b1682d91933eb7dbbb1eac76 (patch) | |
| tree | e7f4c721a1c8d7643681d61447123bd1852bfc92 /src/lib/dcp_encoder.cc | |
| parent | 26678a922a1808db33954e002c165678d8191fc6 (diff) | |
Update DCP encoder progress on all passe()es, not just when audio is emitted.
Diffstat (limited to 'src/lib/dcp_encoder.cc')
| -rw-r--r-- | src/lib/dcp_encoder.cc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/lib/dcp_encoder.cc b/src/lib/dcp_encoder.cc index c7ee180e1..a4bc133f8 100644 --- a/src/lib/dcp_encoder.cc +++ b/src/lib/dcp_encoder.cc @@ -107,7 +107,14 @@ DCPEncoder::go () _writer.write(_player.get_subtitle_fonts()); } - while (!_player.pass()) {} + int passes = 0; + while (!_player.pass()) { + if ((++passes % 8) == 0) { + auto job = _job.lock(); + DCPOMATIC_ASSERT(job); + job->set_progress(_player.progress()); + } + } for (auto i: get_referenced_reel_assets(_film, _film->playlist())) { _writer.write(i); @@ -128,10 +135,6 @@ void DCPEncoder::audio (shared_ptr<AudioBuffers> data, DCPTime time) { _writer.write(data, time); - - auto job = _job.lock (); - DCPOMATIC_ASSERT (job); - job->set_progress (float(time.get()) / _film->length().get()); } void |
