X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fplayer_video.cc;fp=src%2Flib%2Fplayer_video.cc;h=8d55ffb2e2e5cf51db512f3bf90aacd1f64583e8;hb=4ab86ef0295bcd6bb9297996a06006f371d22bae;hp=bd643af60c4c248d777bb2e16b59c526c29b981b;hpb=3b31d2d8a129ae6d8d267427bd6b5bc444b40b2a;p=dcpomatic.git diff --git a/src/lib/player_video.cc b/src/lib/player_video.cc index bd643af60..8d55ffb2e 100644 --- a/src/lib/player_video.cc +++ b/src/lib/player_video.cc @@ -54,7 +54,8 @@ PlayerVideo::PlayerVideo ( optional colour_conversion, VideoRange video_range, weak_ptr content, - optional video_frame + optional video_frame, + bool error ) : _in (in) , _crop (crop) @@ -67,6 +68,7 @@ PlayerVideo::PlayerVideo ( , _video_range (video_range) , _content (content) , _video_frame (video_frame) + , _error (error) { } @@ -81,6 +83,7 @@ PlayerVideo::PlayerVideo (shared_ptr node, shared_ptr socket _eyes = (Eyes) node->number_child ("Eyes"); _part = (Part) node->number_child ("Part"); _video_range = (VideoRange) node->number_child("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); @@ -133,6 +136,7 @@ PlayerVideo::make_image (function pixel_format, b _image_fade = _fade; ImageProxy::Result prox = _in->image (_inter_size); + _error = prox.error; Crop total_crop = _crop; switch (_part) { @@ -194,6 +198,7 @@ PlayerVideo::add_metadata (xmlpp::Node* node) const node->add_child("Eyes")->add_child_text (raw_convert (static_cast (_eyes))); node->add_child("Part")->add_child_text (raw_convert (static_cast (_part))); node->add_child("VideoRange")->add_child_text(raw_convert(static_cast(_video_range))); + node->add_child("Error")->add_child_text(_error ? "1" : "0"); if (_colour_conversion) { _colour_conversion.get().as_xml (node); } @@ -315,7 +320,8 @@ PlayerVideo::shallow_copy () const _colour_conversion, _video_range, _content, - _video_frame + _video_frame, + _error ) ); }