summaryrefslogtreecommitdiff
path: root/src/lib/dcp_encoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-11-19 22:39:38 +0100
committerCarl Hetherington <cth@carlh.net>2019-11-19 22:39:38 +0100
commit4cb18d1e0b8fdedf6bb38e1d4187a2d782957022 (patch)
treefff04fbe4c14161f7ddcd336f28d91f5cf20fc69 /src/lib/dcp_encoder.cc
parentbcb962515b31ac6a40a3393c6d4e07b28cedc62b (diff)
Fix problems with playing back 3D DCPs and with inserting 3D DCPs
in 2D projects. Also add some tests.
Diffstat (limited to 'src/lib/dcp_encoder.cc')
-rw-r--r--src/lib/dcp_encoder.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/lib/dcp_encoder.cc b/src/lib/dcp_encoder.cc
index 448fc2a52..d17c6c985 100644
--- a/src/lib/dcp_encoder.cc
+++ b/src/lib/dcp_encoder.cc
@@ -126,9 +126,14 @@ DCPEncoder::go ()
void
DCPEncoder::video (shared_ptr<PlayerVideo> data, DCPTime time)
{
- if (!_film->three_d() && data->eyes() == EYES_LEFT) {
- /* Use left-eye images for both eyes */
- data->set_eyes (EYES_BOTH);
+ if (!_film->three_d()) {
+ if (data->eyes() == EYES_LEFT) {
+ /* Use left-eye images for both eyes... */
+ data->set_eyes (EYES_BOTH);
+ } else if (data->eyes() == EYES_RIGHT) {
+ /* ...and discard the right */
+ return;
+ }
}
_j2k_encoder->encode (data, time);