projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set correct video frame type when importing DCPs (part of #806).
[dcpomatic.git]
/
src
/
lib
/
dcp_content.cc
diff --git
a/src/lib/dcp_content.cc
b/src/lib/dcp_content.cc
index b46b3dab7abdd216425865bba6bebcf1264ce907..295f33b3c4560955ecac9d2d8201945153fadc8e 100644
(file)
--- a/
src/lib/dcp_content.cc
+++ b/
src/lib/dcp_content.cc
@@
-63,6
+63,7
@@
DCPContent::DCPContent (shared_ptr<const Film> film, boost::filesystem::path p)
, _reference_video (false)
, _reference_audio (false)
, _reference_subtitle (false)
, _reference_video (false)
, _reference_audio (false)
, _reference_subtitle (false)
+ , _three_d (false)
{
video.reset (new VideoContent (this));
audio.reset (new AudioContent (this));
{
video.reset (new VideoContent (this));
audio.reset (new AudioContent (this));
@@
-108,6
+109,7
@@
DCPContent::DCPContent (shared_ptr<const Film> film, cxml::ConstNodePtr node, in
DCPOMATIC_ASSERT (false);
}
}
DCPOMATIC_ASSERT (false);
}
}
+ _three_d = node->optional_bool_child("ThreeD").get_value_or (false);
}
void
}
void
@@
-155,11
+157,14
@@
DCPContent::examine (shared_ptr<Job> job)
_encrypted = examiner->encrypted ();
_kdm_valid = examiner->kdm_valid ();
_standard = examiner->standard ();
_encrypted = examiner->encrypted ();
_kdm_valid = examiner->kdm_valid ();
_standard = examiner->standard ();
+ _three_d = examiner->three_d ();
}
if (could_be_played != can_be_played ()) {
signal_changed (DCPContentProperty::CAN_BE_PLAYED);
}
}
if (could_be_played != can_be_played ()) {
signal_changed (DCPContentProperty::CAN_BE_PLAYED);
}
+
+ video->set_frame_type (_three_d ? VIDEO_FRAME_TYPE_3D : VIDEO_FRAME_TYPE_2D);
}
string
}
string
@@
-221,6
+226,7
@@
DCPContent::as_xml (xmlpp::Node* node) const
DCPOMATIC_ASSERT (false);
}
}
DCPOMATIC_ASSERT (false);
}
}
+ node->add_child("ThreeD")->add_child_text (_three_d ? "1" : "0");
}
DCPTime
}
DCPTime