/*
- Copyright (C) 2012-2017 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
using boost::shared_ptr;
using boost::weak_ptr;
using boost::dynamic_pointer_cast;
+using boost::optional;
+using namespace dcpomatic;
/** Construct a DCP encoder.
* @param film Film that we are encoding.
{
_player_video_connection = _player->Video.connect (bind (&DCPEncoder::video, this, _1, _2));
_player_audio_connection = _player->Audio.connect (bind (&DCPEncoder::audio, this, _1, _2));
- _player_caption_connection = _player->Caption.connect (bind (&DCPEncoder::caption, this, _1, _2, _3));
+ _player_text_connection = _player->Text.connect (bind (&DCPEncoder::text, this, _1, _2, _3, _4));
BOOST_FOREACH (shared_ptr<const Content> c, film->content ()) {
- BOOST_FOREACH (shared_ptr<TextContent> i, c->caption) {
+ BOOST_FOREACH (shared_ptr<TextContent> i, c->text) {
if (i->use() && !i->burn()) {
_non_burnt_subtitles = true;
}
/* We must stop receiving more video data before we die */
_player_video_connection.release ();
_player_audio_connection.release ();
- _player_caption_connection.release ();
+ _player_text_connection.release ();
}
void
}
void
-DCPEncoder::caption (PlayerText data, TextType type, DCPTimePeriod period)
+DCPEncoder::text (PlayerText data, TextType type, optional<DCPTextTrack> track, DCPTimePeriod period)
{
- if (type == CAPTION_CLOSED || _non_burnt_subtitles) {
- _writer->write (data, type, period);
+ if (type == TEXT_CLOSED_CAPTION || _non_burnt_subtitles) {
+ _writer->write (data, type, track, period);
}
}
-float
+optional<float>
DCPEncoder::current_rate () const
{
if (!_j2k_encoder) {
- return 0;
+ return optional<float>();
}
return _j2k_encoder->current_encoding_rate ();