From 6c3ce5b236a745c9eb9e652bacb2896a96254f81 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 14 Jul 2015 00:28:59 +0100 Subject: Port 65514eea7705fb12985cef448f08ceb47db6acab from 1.x; failure to handle separate-eye 3D when R comes before L in the playlist. --- src/lib/encoder.cc | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/lib/encoder.cc') diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc index 07c97c674..9b195bade 100644 --- a/src/lib/encoder.cc +++ b/src/lib/encoder.cc @@ -64,6 +64,8 @@ Encoder::Encoder (shared_ptr film, weak_ptr j, shared_ptr pv) _empty_condition.notify_all (); } - if (pv->eyes() != EYES_LEFT) { + switch (pv->eyes ()) { + case EYES_BOTH: ++_video_frames_enqueued; + break; + case EYES_LEFT: + _left_done = true; + break; + case EYES_RIGHT: + _right_done = true; + break; + default: + break; + } + + if (_left_done && _right_done) { + ++_video_frames_enqueued; + _left_done = _right_done = false; } _last_player_video = pv; -- cgit v1.2.3