summaryrefslogtreecommitdiff
path: root/src/lib/transcode_job.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-05-09 14:04:46 +0100
committerCarl Hetherington <cth@carlh.net>2017-05-09 14:04:46 +0100
commitbb6b53bdb63754fe0cea1368f69f39a3c3cbbdfd (patch)
tree1fa27846ece11d0f30b124b22d3d514333a80563 /src/lib/transcode_job.cc
parent9fa69f9a195c102fb32f285527e8171378c9b6c0 (diff)
Make TranscoderJob able to take any sort of transcoder.
Diffstat (limited to 'src/lib/transcode_job.cc')
-rw-r--r--src/lib/transcode_job.cc11
1 files changed, 9 insertions, 2 deletions
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
@@ -65,6 +65,12 @@ TranscodeJob::json_name () const
}
void
+TranscodeJob::set_transcoder (shared_ptr<Transcoder> t)
+{
+ _transcoder = t;
+}
+
+void
TranscodeJob::run ()
{
try {
@@ -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> 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<DCPTranscoder> t = _transcoder;
+ shared_ptr<Transcoder> t = _transcoder;
if (!t || t->finishing()) {
/* We aren't doing any actual encoding so just use the job's guess */