X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ftranscoder.cc;h=3ecc3a064bb2b476ab41016e6c4d7083e1cfd72d;hb=e60bb3e51bd1508b149e6b8f6608f09b5196ae26;hp=9d8eebe255d63d16dac547ab5851e8388c601c0c;hpb=8c7a308c03e4b4196b4e2379a26d432b100ae2b1;p=dcpomatic.git diff --git a/src/lib/transcoder.cc b/src/lib/transcoder.cc index 9d8eebe25..3ecc3a064 100644 --- a/src/lib/transcoder.cc +++ b/src/lib/transcoder.cc @@ -42,15 +42,15 @@ using boost::shared_ptr; using boost::weak_ptr; using boost::dynamic_pointer_cast; -/** Construct a transcoder using a Decoder that we create and a supplied Encoder. +/** Construct a transcoder. * @param f Film that we are transcoding. - * @param e Encoder to use. + * @param j Job that this transcoder is being used in. */ -Transcoder::Transcoder (shared_ptr f, shared_ptr j) - : _film (f) - , _player (f->make_player ()) - , _writer (new Writer (f, j)) - , _encoder (new Encoder (f, j, _writer)) +Transcoder::Transcoder (shared_ptr film, shared_ptr j) + : _film (film) + , _player (new Player (film)) + , _writer (new Writer (film, j)) + , _encoder (new Encoder (film, j, _writer)) , _finishing (false) { @@ -63,6 +63,11 @@ Transcoder::go () DCPTime const frame = DCPTime::from_frames (1, _film->video_frame_rate ()); DCPTime const length = _film->length (); + + if (!_film->burn_subtitles ()) { + _writer->write (_player->get_subtitle_fonts ()); + } + for (DCPTime t; t < length; t += frame) { list > v = _player->get_video (t, true); for (list >::const_iterator i = v.begin(); i != v.end(); ++i) {