projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master; fix crash on new film.
[dcpomatic.git]
/
src
/
lib
/
encoder.cc
diff --git
a/src/lib/encoder.cc
b/src/lib/encoder.cc
index f56440dd7c1026bfb97f564410bb8c36512beac3..c1d1041ae539f9cdab1f087291eb2d8d7104abbb 100644
(file)
--- a/
src/lib/encoder.cc
+++ b/
src/lib/encoder.cc
@@
-240,7
+240,7
@@
Encoder::frame_done ()
}
void
}
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());
{
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
}
void
-Encoder::process_audio (shared_ptr<AudioBuffers> data)
+Encoder::process_audio (shared_ptr<
const
AudioBuffers> data)
{
#if HAVE_SWRESAMPLE
/* Maybe sample-rate convert */
{
#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) {
lock.unlock ();
for (list<boost::thread *>::iterator i = _threads.begin(); i != _threads.end(); ++i) {
- (*i)->join ();
+ if ((*i)->joinable ()) {
+ (*i)->join ();
+ }
delete *i;
}
}
delete *i;
}
}