diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-01-16 21:01:30 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-01-16 21:01:30 +0000 |
| commit | 1aad2c33896ce6222f3c929c7af7fe4ff5fda0f2 (patch) | |
| tree | b766282ac0b735b6e4450b91939607affdaa351d /src/lib/util.cc | |
| parent | 598483f71fabde104250296ab4bfe4ec70d82d66 (diff) | |
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.
Diffstat (limited to 'src/lib/util.cc')
| -rw-r--r-- | src/lib/util.cc | 10 |
1 files changed, 10 insertions, 0 deletions
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<const AudioBuffers> input, int output_channels, AudioMapping m return mapped; } + +Eyes +increment_eyes (Eyes e) +{ + if (e == EYES_LEFT) { + return EYES_RIGHT; + } + + return EYES_LEFT; +} |
