summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-12-22 14:24:34 +0000
committerCarl Hetherington <cth@carlh.net>2013-12-22 14:24:34 +0000
commitedcae629e58bd5b5309d607778917fd8aaa20e0c (patch)
tree4373a0684fa81f1e761c5f09b991c1c88efa7cfe /src/lib
parentc4f0125224ab9a13f4796484407a8ba7c1ca7803 (diff)
Fix play of 3D.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/player.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/player.cc b/src/lib/player.cc
index 9757040d4..4cf66065b 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -160,6 +160,7 @@ Player::pass ()
}
} else {
+
if (
dv->dcp_time >= _video_position &&
!earliest_piece->content->trimmed (dv->dcp_time - earliest_piece->content->position ())
@@ -245,7 +246,11 @@ Player::emit_video (weak_ptr<Piece> weak_piece, shared_ptr<DecodedVideo> video)
Video (pi, video->eyes, content->colour_conversion(), video->same, video->dcp_time);
_last_emit_was_black = false;
- _video_position = rint (video->dcp_time + TIME_HZ / _film->video_frame_rate());
+
+ /* This is a bit of a hack; don't update _video_position if EYES_RIGHT is on its way */
+ if (video->eyes != EYES_LEFT) {
+ _video_position = rint (video->dcp_time + TIME_HZ / _film->video_frame_rate());
+ }
}
void