diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-12-31 21:11:46 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-12-31 21:26:43 +0100 |
| commit | 1289b316fb067f4e2f71485306ea25af6b4d81b9 (patch) | |
| tree | c06b2adaf4f6939340daec9fec46107ed9738936 | |
| parent | f833a0c5f4c4cf61c2e9cdc83b867160541b704f (diff) | |
Use copy_in_bits to allow progress reporting when copying a big asset.
| -rw-r--r-- | src/lib/reel_writer.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc index dddacd893..dacaf3a25 100644 --- a/src/lib/reel_writer.cc +++ b/src/lib/reel_writer.cc @@ -190,7 +190,12 @@ ReelWriter::ReelWriter( /* XXX: what about if the encryption key changes? */ auto new_asset_filename = _output_dir / existing_asset_filename->filename(); if (new_asset_filename != *existing_asset_filename) { - dcp::filesystem::copy(*existing_asset_filename, new_asset_filename); + if (job) { + job->sub(_("Copying existing asset")); + copy_in_bits(*existing_asset_filename, new_asset_filename, boost::bind(&Job::set_progress, job.get(), _1, false)); + } else { + dcp::filesystem::copy(*existing_asset_filename, new_asset_filename); + } remembered_assets.push_back(RememberedAsset(new_asset_filename, period, film()->video_identifier())); } film()->write_remembered_assets(remembered_assets); |
