X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fencoder.cc;h=d3181acd9b1f7df35f0224a96be318b6203f5f1d;hb=89115db77729a2c99f1a09ff6a461720e16f889e;hp=270bf3d43b736fe888f23a537cdf1c1c68d0dfa5;hpb=996b0c06e23bcb6b300d7b8799df94993692e07d;p=dcpomatic.git diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc index 270bf3d43..d3181acd9 100644 --- a/src/lib/encoder.cc +++ b/src/lib/encoder.cc @@ -22,24 +22,15 @@ */ #include -#include -#include -#include #include "encoder.h" #include "util.h" #include "film.h" #include "log.h" -#include "exceptions.h" -#include "filter.h" #include "config.h" #include "dcp_video_frame.h" #include "server.h" -#include "format.h" #include "cross.h" #include "writer.h" -#include "player.h" -#include "audio_mapping.h" -#include "container.h" #include "i18n.h" @@ -49,6 +40,7 @@ using std::stringstream; using std::vector; using std::list; using std::cout; +using std::min; using std::make_pair; using boost::shared_ptr; using boost::optional; @@ -56,7 +48,7 @@ using boost::optional; int const Encoder::_history_size = 25; /** @param f Film that we are encoding */ -Encoder::Encoder (shared_ptr f, shared_ptr j) +Encoder::Encoder (shared_ptr f, shared_ptr j) : _film (f) , _job (j) , _video_frames_out (0) @@ -178,7 +170,7 @@ Encoder::frame_done () } void -Encoder::process_video (shared_ptr image, bool same, shared_ptr sub, Time) +Encoder::process_video (shared_ptr image, bool same) { boost::mutex::scoped_lock lock (_mutex); @@ -211,11 +203,8 @@ Encoder::process_video (shared_ptr image, bool same, shared_ptr ( new DCPVideoFrame ( - image, sub, _film->container()->dcp_size(), 0, - _film->subtitle_offset(), _film->subtitle_scale(), - _film->scaler(), _video_frames_out, _film->dcp_video_frame_rate(), - _film->colour_lut(), _film->j2k_bandwidth(), - _film->log() + image, _video_frames_out, _film->dcp_video_frame_rate(), + _film->colour_lut(), _film->j2k_bandwidth(), _film->log() ) )); @@ -227,7 +216,7 @@ Encoder::process_video (shared_ptr image, bool same, shared_ptr data, Time) +Encoder::process_audio (shared_ptr data) { _writer->write (data); } @@ -246,6 +235,8 @@ Encoder::terminate_threads () } delete *i; } + + _threads.clear (); } void