optional<ColourConversion> colour_conversion,
VideoRange video_range,
weak_ptr<Content> content,
- optional<Frame> video_frame
+ optional<Frame> video_frame,
+ bool error
)
: _in (in)
, _crop (crop)
, _video_range (video_range)
, _content (content)
, _video_frame (video_frame)
+ , _error (error)
{
}
_eyes = (Eyes) node->number_child<int> ("Eyes");
_part = (Part) node->number_child<int> ("Part");
_video_range = (VideoRange) node->number_child<int>("VideoRange");
+ _error = node->optional_bool_child("Error").get_value_or (false);
/* Assume that the ColourConversion uses the current state version */
_colour_conversion = ColourConversion::from_xml (node, Film::current_state_version);
_image_fade = _fade;
ImageProxy::Result prox = _in->image (_inter_size);
+ _error = prox.error;
Crop total_crop = _crop;
switch (_part) {
node->add_child("Eyes")->add_child_text (raw_convert<string> (static_cast<int> (_eyes)));
node->add_child("Part")->add_child_text (raw_convert<string> (static_cast<int> (_part)));
node->add_child("VideoRange")->add_child_text(raw_convert<string>(static_cast<int>(_video_range)));
+ node->add_child("Error")->add_child_text(_error ? "1" : "0");
if (_colour_conversion) {
_colour_conversion.get().as_xml (node);
}
}
void
-PlayerVideo::send_binary (shared_ptr<Socket> socket) const
+PlayerVideo::write_to_socket (shared_ptr<Socket> socket) const
{
- _in->send_binary (socket);
+ _in->write_to_socket (socket);
if (_text) {
_text->image->write_to_socket (socket);
}
_colour_conversion,
_video_range,
_content,
- _video_frame
+ _video_frame,
+ _error
)
);
}
_crop = content->video->crop();
_fade = content->video->fade(film, _video_frame.get());
- _inter_size = content->video->scale().size(content->video, video_container_size, film_frame_size);
+ _inter_size = scale_for_display(content->video->scaled_size(film_frame_size), video_container_size, film_frame_size);
_out_size = video_container_size;
_colour_conversion = content->video->colour_conversion();
_video_range = content->video->range();