summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/job_manager.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/job_manager.cc b/src/lib/job_manager.cc
index 0597983db..545fd956c 100644
--- a/src/lib/job_manager.cc
+++ b/src/lib/job_manager.cc
@@ -180,18 +180,22 @@ JobManager::analyse_audio (
function<void()> ready
)
{
- shared_ptr<AnalyseAudioJob> job;
-
{
boost::mutex::scoped_lock lm (_mutex);
BOOST_FOREACH (shared_ptr<Job> i, _jobs) {
shared_ptr<AnalyseAudioJob> a = dynamic_pointer_cast<AnalyseAudioJob> (i);
- if (a && film->audio_analysis_path (a->playlist ()) == film->audio_analysis_path (playlist)) {
+ if (a && a->playlist () == playlist) {
i->when_finished (connection, ready);
return;
}
}
+ }
+
+ shared_ptr<AnalyseAudioJob> job;
+
+ {
+ boost::mutex::scoped_lock lm (_mutex);
job.reset (new AnalyseAudioJob (film, playlist));
connection = job->Finished.connect (ready);