diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-12-22 14:24:34 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-12-22 14:24:34 +0000 |
| commit | edcae629e58bd5b5309d607778917fd8aaa20e0c (patch) | |
| tree | 4373a0684fa81f1e761c5f09b991c1c88efa7cfe /src/lib | |
| parent | c4f0125224ab9a13f4796484407a8ba7c1ca7803 (diff) | |
Fix play of 3D.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/player.cc | 7 |
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 |
