From 1aad2c33896ce6222f3c929c7af7fe4ff5fda0f2 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 16 Jan 2018 21:01:30 +0000 Subject: In general the player assumes that it won't receive out of order video. This clearly can happen with separate L/R sources. A pass in L might emit two frames which means the arrivals can't possibly be in order. This commit fixes this by introducing a Shuffler which all alternate-3D sources send their video to. The Shuffler re-orders things before they arrive at the player. It also fixes the code which inserts video frames before one that arrives after a gap. This didn't cope with 3D right before. The audio code solves a similar (perhaps the same?) problem with the AudioMerger; perhaps we should have a similar thing for video and make the player emit complete 3D frames. Should help with #976. --- src/lib/util.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/lib/util.cc') diff --git a/src/lib/util.cc b/src/lib/util.cc index 637030e86..8ed878561 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -774,3 +774,13 @@ remap (shared_ptr input, int output_channels, AudioMapping m return mapped; } + +Eyes +increment_eyes (Eyes e) +{ + if (e == EYES_LEFT) { + return EYES_RIGHT; + } + + return EYES_LEFT; +} -- cgit v1.2.3