summaryrefslogtreecommitdiff
path: root/src/lib/encoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-04-26 23:41:02 +0100
committerCarl Hetherington <cth@carlh.net>2013-04-26 23:41:02 +0100
commitf861018389acd9d277fe34d7621182b9b54f977f (patch)
tree499bae7640ce99a13c31ea9c870d426084480aec /src/lib/encoder.cc
parentf09c6b53f155de601900afa90045059b20310c0d (diff)
parent86011ad6b4ea0004a51c59b0563cf89c0947546d (diff)
Merge master; fix crash on new film.
Diffstat (limited to 'src/lib/encoder.cc')
-rw-r--r--src/lib/encoder.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc
index f56440dd7..c1d1041ae 100644
--- a/src/lib/encoder.cc
+++ b/src/lib/encoder.cc
@@ -240,7 +240,7 @@ Encoder::frame_done ()
}
void
-Encoder::process_video (shared_ptr<Image> image, bool same, shared_ptr<Subtitle> sub)
+Encoder::process_video (shared_ptr<const Image> image, bool same, shared_ptr<Subtitle> sub)
{
FrameRateConversion frc (_film->video_frame_rate(), _film->dcp_frame_rate());
@@ -303,7 +303,7 @@ Encoder::process_video (shared_ptr<Image> image, bool same, shared_ptr<Subtitle>
}
void
-Encoder::process_audio (shared_ptr<AudioBuffers> data)
+Encoder::process_audio (shared_ptr<const AudioBuffers> data)
{
#if HAVE_SWRESAMPLE
/* Maybe sample-rate convert */
@@ -342,7 +342,9 @@ Encoder::terminate_threads ()
lock.unlock ();
for (list<boost::thread *>::iterator i = _threads.begin(); i != _threads.end(); ++i) {
- (*i)->join ();
+ if ((*i)->joinable ()) {
+ (*i)->join ();
+ }
delete *i;
}
}