summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-02-16 22:42:23 +0000
committerCarl Hetherington <cth@carlh.net>2013-02-16 22:42:23 +0000
commit38ab054c2ec22a853ee6abbe3f3683d153e9bb63 (patch)
treea73ad5597c15c59ec068b9f5cb6ce9b0d53e4ecb
parentb10f5d0458fbf276c4870e0b83be8ce622a75f4c (diff)
parent790ea4e8ca2e5bde3320ae49c8134b959c34a191 (diff)
Merge branch 'direct-mxf' of /home/carl/git/dvdomatic into direct-mxf
-rw-r--r--src/lib/ab_transcode_job.cc4
-rw-r--r--src/lib/ab_transcode_job.h3
-rw-r--r--src/lib/dcp_video_frame.h1
-rw-r--r--src/lib/examine_content_job.cc4
-rw-r--r--src/lib/examine_content_job.h2
-rw-r--r--src/lib/film.cc8
-rw-r--r--src/lib/job.cc4
-rw-r--r--src/lib/job.h8
-rw-r--r--src/lib/job_manager.cc11
-rw-r--r--src/lib/scp_dcp_job.cc4
-rw-r--r--src/lib/scp_dcp_job.h2
-rw-r--r--src/lib/transcode_job.cc5
-rw-r--r--src/lib/transcode_job.h2
-rw-r--r--src/lib/transcoder.h5
-rw-r--r--test/test.cc39
-rw-r--r--windows/installer.nsi.32.in2
-rw-r--r--windows/installer.nsi.64.in2
17 files changed, 30 insertions, 76 deletions
diff --git a/src/lib/ab_transcode_job.cc b/src/lib/ab_transcode_job.cc
index 0efd277bb..025c23c86 100644
--- a/src/lib/ab_transcode_job.cc
+++ b/src/lib/ab_transcode_job.cc
@@ -32,8 +32,8 @@ using boost::shared_ptr;
/** @param f Film to compare.
* @param o Decode options.
*/
-ABTranscodeJob::ABTranscodeJob (shared_ptr<Film> f, DecodeOptions o, shared_ptr<Job> req)
- : Job (f, req)
+ABTranscodeJob::ABTranscodeJob (shared_ptr<Film> f, DecodeOptions o)
+ : Job (f)
, _decode_opt (o)
{
_film_b.reset (new Film (*_film));
diff --git a/src/lib/ab_transcode_job.h b/src/lib/ab_transcode_job.h
index 983842038..8e3cbe2d8 100644
--- a/src/lib/ab_transcode_job.h
+++ b/src/lib/ab_transcode_job.h
@@ -39,8 +39,7 @@ class ABTranscodeJob : public Job
public:
ABTranscodeJob (
boost::shared_ptr<Film> f,
- DecodeOptions o,
- boost::shared_ptr<Job> req
+ DecodeOptions o
);
std::string name () const;
diff --git a/src/lib/dcp_video_frame.h b/src/lib/dcp_video_frame.h
index be8a559b2..ab458b58f 100644
--- a/src/lib/dcp_video_frame.h
+++ b/src/lib/dcp_video_frame.h
@@ -26,7 +26,6 @@
* @brief A single frame of video destined for a DCP.
*/
-class FilmState;
class Film;
class ServerDescription;
class Scaler;
diff --git a/src/lib/examine_content_job.cc b/src/lib/examine_content_job.cc
index 94e5320fe..31d76c4f7 100644
--- a/src/lib/examine_content_job.cc
+++ b/src/lib/examine_content_job.cc
@@ -36,8 +36,8 @@ using std::vector;
using std::pair;
using boost::shared_ptr;
-ExamineContentJob::ExamineContentJob (shared_ptr<Film> f, shared_ptr<Job> req)
- : Job (f, req)
+ExamineContentJob::ExamineContentJob (shared_ptr<Film> f)
+ : Job (f)
{
}
diff --git a/src/lib/examine_content_job.h b/src/lib/examine_content_job.h
index 729c287b5..8ee4f0d60 100644
--- a/src/lib/examine_content_job.h
+++ b/src/lib/examine_content_job.h
@@ -29,7 +29,7 @@
class ExamineContentJob : public Job
{
public:
- ExamineContentJob (boost::shared_ptr<Film>, boost::shared_ptr<Job> req);
+ ExamineContentJob (boost::shared_ptr<Film>);
~ExamineContentJob ();
std::string name () const;
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 36ebe7199..289a8c348 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -300,9 +300,9 @@ Film::make_dcp (bool transcode)
if (transcode) {
if (dcp_ab()) {
- r = JobManager::instance()->add (shared_ptr<Job> (new ABTranscodeJob (shared_from_this(), od, shared_ptr<Job> ())));
+ r = JobManager::instance()->add (shared_ptr<Job> (new ABTranscodeJob (shared_from_this(), od)));
} else {
- r = JobManager::instance()->add (shared_ptr<Job> (new TranscodeJob (shared_from_this(), od, shared_ptr<Job> ())));
+ r = JobManager::instance()->add (shared_ptr<Job> (new TranscodeJob (shared_from_this(), od)));
}
}
}
@@ -315,7 +315,7 @@ Film::examine_content ()
return;
}
- _examine_content_job.reset (new ExamineContentJob (shared_from_this(), shared_ptr<Job> ()));
+ _examine_content_job.reset (new ExamineContentJob (shared_from_this()));
_examine_content_job->Finished.connect (bind (&Film::examine_content_finished, this));
JobManager::instance()->add (_examine_content_job);
}
@@ -330,7 +330,7 @@ Film::examine_content_finished ()
void
Film::send_dcp_to_tms ()
{
- shared_ptr<Job> j (new SCPDCPJob (shared_from_this(), shared_ptr<Job> ()));
+ shared_ptr<Job> j (new SCPDCPJob (shared_from_this()));
JobManager::instance()->add (j);
}
diff --git a/src/lib/job.cc b/src/lib/job.cc
index dd034bf0c..bde2c8cfd 100644
--- a/src/lib/job.cc
+++ b/src/lib/job.cc
@@ -33,11 +33,9 @@ using std::stringstream;
using boost::shared_ptr;
/** @param s Film that we are operating on.
- * @param req Job that must be completed before this job is run.
*/
-Job::Job (shared_ptr<Film> f, shared_ptr<Job> req)
+Job::Job (shared_ptr<Film> f)
: _film (f)
- , _required (req)
, _state (NEW)
, _start_time (0)
, _progress_unknown (false)
diff --git a/src/lib/job.h b/src/lib/job.h
index 1ea0a9b17..1538e2779 100644
--- a/src/lib/job.h
+++ b/src/lib/job.h
@@ -37,7 +37,7 @@ class Film;
class Job : public boost::enable_shared_from_this<Job>
{
public:
- Job (boost::shared_ptr<Film> s, boost::shared_ptr<Job> req);
+ Job (boost::shared_ptr<Film> s);
virtual ~Job() {}
/** @return user-readable name of this job */
@@ -65,10 +65,6 @@ public:
void descend (float);
float overall_progress () const;
- boost::shared_ptr<Job> required () const {
- return _required;
- }
-
boost::signals2::signal<void()> Finished;
protected:
@@ -93,8 +89,6 @@ private:
void run_wrapper ();
- boost::shared_ptr<Job> _required;
-
/** mutex for _state and _error */
mutable boost::mutex _state_mutex;
/** current state of the job */
diff --git a/src/lib/job_manager.cc b/src/lib/job_manager.cc
index fa02fd370..910597628 100644
--- a/src/lib/job_manager.cc
+++ b/src/lib/job_manager.cc
@@ -111,13 +111,10 @@ JobManager::scheduler ()
}
if ((*i)->is_new()) {
- shared_ptr<Job> r = (*i)->required ();
- if (!r || r->finished_ok ()) {
- (*i)->start ();
-
- /* Only start one job at once */
- break;
- }
+ (*i)->start ();
+
+ /* Only start one job at once */
+ break;
}
}
}
diff --git a/src/lib/scp_dcp_job.cc b/src/lib/scp_dcp_job.cc
index 3d941888e..30d02eff8 100644
--- a/src/lib/scp_dcp_job.cc
+++ b/src/lib/scp_dcp_job.cc
@@ -94,8 +94,8 @@ public:
};
-SCPDCPJob::SCPDCPJob (shared_ptr<Film> f, shared_ptr<Job> req)
- : Job (f, req)
+SCPDCPJob::SCPDCPJob (shared_ptr<Film> f)
+ : Job (f)
, _status ("Waiting")
{
diff --git a/src/lib/scp_dcp_job.h b/src/lib/scp_dcp_job.h
index 5d0bfe7b4..08d8e2c78 100644
--- a/src/lib/scp_dcp_job.h
+++ b/src/lib/scp_dcp_job.h
@@ -26,7 +26,7 @@
class SCPDCPJob : public Job
{
public:
- SCPDCPJob (boost::shared_ptr<Film>, boost::shared_ptr<Job> req);
+ SCPDCPJob (boost::shared_ptr<Film>);
std::string name () const;
void run ();
diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc
index e9a59c743..87e9a47c4 100644
--- a/src/lib/transcode_job.cc
+++ b/src/lib/transcode_job.cc
@@ -38,10 +38,9 @@ using boost::shared_ptr;
/** @param s Film to use.
* @param o Decode options.
- * @param req Job that must be completed before this job is run.
*/
-TranscodeJob::TranscodeJob (shared_ptr<Film> f, DecodeOptions o, shared_ptr<Job> req)
- : Job (f, req)
+TranscodeJob::TranscodeJob (shared_ptr<Film> f, DecodeOptions o)
+ : Job (f)
, _decode_opt (o)
{
diff --git a/src/lib/transcode_job.h b/src/lib/transcode_job.h
index 8f78e7f6a..9b69e4e65 100644
--- a/src/lib/transcode_job.h
+++ b/src/lib/transcode_job.h
@@ -33,7 +33,7 @@ class Encoder;
class TranscodeJob : public Job
{
public:
- TranscodeJob (boost::shared_ptr<Film> f, DecodeOptions od, boost::shared_ptr<Job> req);
+ TranscodeJob (boost::shared_ptr<Film> f, DecodeOptions od);
std::string name () const;
void run ();
diff --git a/src/lib/transcoder.h b/src/lib/transcoder.h
index 786010869..b0c263d07 100644
--- a/src/lib/transcoder.h
+++ b/src/lib/transcoder.h
@@ -18,7 +18,7 @@
*/
/** @file src/transcoder.h
- * @brief A class which takes a FilmState and some Options, then uses those to transcode a Film.
+ * @brief A class which takes a Film and some Options, then uses those to transcode the film.
*
* A decoder is selected according to the content type, and the encoder can be specified
* as a parameter to the constructor.
@@ -29,7 +29,6 @@
class Film;
class Job;
class Encoder;
-class FilmState;
class Matcher;
class VideoFilter;
class Gain;
@@ -38,7 +37,7 @@ class AudioDecoder;
class DelayLine;
/** @class Transcoder
- * @brief A class which takes a FilmState and some Options, then uses those to transcode a Film.
+ * @brief A class which takes a Film and some Options, then uses those to transcode the film.
*
* A decoder is selected according to the content type, and the encoder can be specified
* as a parameter to the constructor.
diff --git a/test/test.cc b/test/test.cc
index 75199fac7..771325d29 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -652,8 +652,8 @@ BOOST_AUTO_TEST_CASE (audio_sampling_rate_test)
class TestJob : public Job
{
public:
- TestJob (shared_ptr<Film> f, shared_ptr<Job> req)
- : Job (f, req)
+ TestJob (shared_ptr<Film> f)
+ : Job (f)
{
}
@@ -684,8 +684,8 @@ BOOST_AUTO_TEST_CASE (job_manager_test)
{
shared_ptr<Film> f;
- /* Single job, no dependency */
- shared_ptr<TestJob> a (new TestJob (f, shared_ptr<Job> ()));
+ /* Single job */
+ shared_ptr<TestJob> a (new TestJob (f));
JobManager::instance()->add (a);
dvdomatic_sleep (1);
@@ -693,37 +693,6 @@ BOOST_AUTO_TEST_CASE (job_manager_test)
a->set_finished_ok ();
dvdomatic_sleep (2);
BOOST_CHECK_EQUAL (a->finished_ok(), true);
-
- /* Two jobs, dependency */
- a.reset (new TestJob (f, shared_ptr<Job> ()));
- shared_ptr<TestJob> b (new TestJob (f, a));
-
- JobManager::instance()->add (a);
- JobManager::instance()->add (b);
- dvdomatic_sleep (2);
- BOOST_CHECK_EQUAL (a->running(), true);
- BOOST_CHECK_EQUAL (b->running(), false);
- a->set_finished_ok ();
- dvdomatic_sleep (2);
- BOOST_CHECK_EQUAL (a->finished_ok(), true);
- BOOST_CHECK_EQUAL (b->running(), true);
- b->set_finished_ok ();
- dvdomatic_sleep (2);
- BOOST_CHECK_EQUAL (b->finished_ok(), true);
-
- /* Two jobs, dependency, first fails */
- a.reset (new TestJob (f, shared_ptr<Job> ()));
- b.reset (new TestJob (f, a));
-
- JobManager::instance()->add (a);
- JobManager::instance()->add (b);
- dvdomatic_sleep (2);
- BOOST_CHECK_EQUAL (a->running(), true);
- BOOST_CHECK_EQUAL (b->running(), false);
- a->set_finished_error ();
- dvdomatic_sleep (2);
- BOOST_CHECK_EQUAL (a->finished_in_error(), true);
- BOOST_CHECK_EQUAL (b->running(), false);
}
BOOST_AUTO_TEST_CASE (compact_image_test)
diff --git a/windows/installer.nsi.32.in b/windows/installer.nsi.32.in
index 575beaf3e..bd51b10a7 100644
--- a/windows/installer.nsi.32.in
+++ b/windows/installer.nsi.32.in
@@ -31,7 +31,7 @@ File "%deps%/bin/asdcp-libdcp.dll"
File "%deps%/bin/avcodec-54.dll"
File "%deps%/bin/avfilter-3.dll"
File "%deps%/bin/avformat-54.dll"
-File "%deps%/bin/avutil-51.dll"
+File "%deps%/bin/avutil-52.dll"
File "%deps%/bin/dcp.dll"
File "%deps%/bin/libintl-8.dll"
File "%deps%/bin/kumu-libdcp.dll"
diff --git a/windows/installer.nsi.64.in b/windows/installer.nsi.64.in
index 5a1cd8f6d..f26494554 100644
--- a/windows/installer.nsi.64.in
+++ b/windows/installer.nsi.64.in
@@ -41,7 +41,7 @@ File "%deps%/bin/asdcp-libdcp.dll"
File "%deps%/bin/avcodec-54.dll"
File "%deps%/bin/avfilter-3.dll"
File "%deps%/bin/avformat-54.dll"
-File "%deps%/bin/avutil-51.dll"
+File "%deps%/bin/avutil-52.dll"
File "%deps%/bin/dcp.dll"
File "%deps%/bin/libintl-8.dll"
File "%deps%/bin/kumu-libdcp.dll"