, _use_dci_name (o._use_dci_name)
, _dcp_content_type (o._dcp_content_type)
, _container (o._container)
- , _filters (o._filters)
, _scaler (o._scaler)
, _ab (o._ab)
, _with_subtitles (o._with_subtitles)
assert (container ());
LocaleGuard lg;
- pair<string, string> f = Filter::ffmpeg_strings (filters());
-
stringstream s;
s << container()->id()
<< "_" << _playlist->video_digest()
<< "_" << _dcp_video_frame_rate
- << "_" << f.first << "_" << f.second
<< "_" << scaler()->id()
<< "_" << j2k_bandwidth()
<< "_" << lexical_cast<int> (colour_lut());
root->add_child("Container")->add_child_text (_container->id ());
}
- for (vector<Filter const *>::const_iterator i = _filters.begin(); i != _filters.end(); ++i) {
- root->add_child("Filter")->add_child_text ((*i)->id ());
- }
-
root->add_child("Scaler")->add_child_text (_scaler->id ());
root->add_child("AB")->add_child_text (_ab ? "1" : "0");
root->add_child("WithSubtitles")->add_child_text (_with_subtitles ? "1" : "0");
}
}
- {
- list<shared_ptr<cxml::Node> > c = f.node_children ("Filter");
- for (list<shared_ptr<cxml::Node> >::iterator i = c.begin(); i != c.end(); ++i) {
- _filters.push_back (Filter::from_id ((*i)->content ()));
- }
- }
-
_scaler = Scaler::from_id (f.string_child ("Scaler"));
_ab = f.bool_child ("AB");
_with_subtitles = f.bool_child ("WithSubtitles");
signal_changed (CONTAINER);
}
-void
-Film::set_filters (vector<Filter const *> f)
-{
- {
- boost::mutex::scoped_lock lm (_state_mutex);
- _filters = f;
- }
- signal_changed (FILTERS);
-}
-
void
Film::set_scaler (Scaler const * s)
{
shared_ptr<Player>
Film::player () const
{
- boost::mutex::scoped_lock lm (_state_mutex);
return shared_ptr<Player> (new Player (shared_from_this (), _playlist));
}