From bb6b53bdb63754fe0cea1368f69f39a3c3cbbdfd Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 9 May 2017 14:04:46 +0100 Subject: Make TranscoderJob able to take any sort of transcoder. --- src/lib/transcode_job.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/lib/transcode_job.cc') diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc index 17738deff..bf878e8c2 100644 --- a/src/lib/transcode_job.cc +++ b/src/lib/transcode_job.cc @@ -64,6 +64,12 @@ TranscodeJob::json_name () const return N_("transcode"); } +void +TranscodeJob::set_transcoder (shared_ptr t) +{ + _transcoder = t; +} + void TranscodeJob::run () { @@ -72,7 +78,7 @@ TranscodeJob::run () gettimeofday (&start, 0); LOG_GENERAL_NC (N_("Transcode job starting")); - _transcoder.reset (new DCPTranscoder (_film, shared_from_this ())); + DCPOMATIC_ASSERT (_transcoder); _transcoder->go (); set_progress (1); set_state (FINISHED_OK); @@ -88,6 +94,7 @@ TranscodeJob::run () LOG_GENERAL (N_("Transcode job completed successfully: %1 fps"), fps); _transcoder.reset (); + /* XXX: this shouldn't be here */ if (_film->upload_after_make_dcp ()) { shared_ptr job (new UploadJob (_film)); JobManager::instance()->add (job); @@ -135,7 +142,7 @@ int TranscodeJob::remaining_time () const { /* _transcoder might be destroyed by the job-runner thread */ - shared_ptr t = _transcoder; + shared_ptr t = _transcoder; if (!t || t->finishing()) { /* We aren't doing any actual encoding so just use the job's guess */ -- cgit v1.2.3