X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcheck_hashes_job.cc;h=f07a5ab2accaf9d98172bbb2ba9da7cd213b0516;hb=5428006e97b37d757a03c14024d7a0fb363bdcc6;hp=cf269564aa7f2dc81717907249e087fef2c5d835;hpb=5d48e36440d6b4ebf4c04a413bd340b214ba8c42;p=dcpomatic.git diff --git a/src/lib/check_hashes_job.cc b/src/lib/check_hashes_job.cc index cf269564a..f07a5ab2a 100644 --- a/src/lib/check_hashes_job.cc +++ b/src/lib/check_hashes_job.cc @@ -31,8 +31,8 @@ using namespace std; using namespace boost; -CheckHashesJob::CheckHashesJob (shared_ptr s, shared_ptr o, Log* l) - : Job (s, o, l) +CheckHashesJob::CheckHashesJob (shared_ptr s, shared_ptr o, Log* l, shared_ptr req) + : Job (s, o, l, req) , _bad (0) { @@ -48,8 +48,10 @@ void CheckHashesJob::run () { _bad = 0; + + int const N = _fs->dcp_length (); - for (int i = 0; i < _fs->length; ++i) { + for (int i = 0; i < N; ++i) { string const j2k_file = _opt->frame_out_path (i, false); string const hash_file = j2k_file + ".md5"; @@ -71,13 +73,13 @@ CheckHashesJob::run () shared_ptr tc; if (_fs->dcp_ab) { - tc.reset (new ABTranscodeJob (_fs, _opt, _log)); + tc.reset (new ABTranscodeJob (_fs, _opt, _log, shared_from_this())); } else { - tc.reset (new TranscodeJob (_fs, _opt, _log)); + tc.reset (new TranscodeJob (_fs, _opt, _log, shared_from_this())); } JobManager::instance()->add_after (shared_from_this(), tc); - JobManager::instance()->add_after (tc, shared_ptr (new CheckHashesJob (_fs, _opt, _log))); + JobManager::instance()->add_after (tc, shared_ptr (new CheckHashesJob (_fs, _opt, _log, tc))); } set_progress (1);