summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-05-31 16:20:09 +0100
committerCarl Hetherington <cth@carlh.net>2017-05-31 16:20:09 +0100
commitd0a0a4839f0e1e8d37f9f9ad41784c4d18210a6b (patch)
tree17cc7260004a09a9d92dbb0f01e6156c0a58cc07 /src/lib
parentdd879e5254c1e005e60ccd135a37f70cb2fe3a75 (diff)
Allow repeat-frame to work with 3D.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/j2k_encoder.cc4
-rw-r--r--src/lib/j2k_encoder.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/j2k_encoder.cc b/src/lib/j2k_encoder.cc
index 3c062dcaa..15977bb3e 100644
--- a/src/lib/j2k_encoder.cc
+++ b/src/lib/j2k_encoder.cc
@@ -220,7 +220,7 @@ J2KEncoder::encode (shared_ptr<PlayerVideo> pv, DCPTime time)
LOG_DEBUG_ENCODE("Frame @ %1 J2K", to_string(time));
/* This frame already has J2K data, so just write it */
_writer->write (pv->j2k(), position, pv->eyes ());
- } else if (_last_player_video && _writer->can_repeat(position) && pv->same (_last_player_video)) {
+ } else if (_last_player_video[pv->eyes()] && _writer->can_repeat(position) && pv->same (_last_player_video[pv->eyes()])) {
LOG_DEBUG_ENCODE("Frame @ %1 REPEAT", to_string(time));
_writer->repeat (position, pv->eyes ());
} else {
@@ -244,7 +244,7 @@ J2KEncoder::encode (shared_ptr<PlayerVideo> pv, DCPTime time)
_empty_condition.notify_all ();
}
- _last_player_video = pv;
+ _last_player_video[pv->eyes()] = pv;
_last_player_video_time = time;
}
diff --git a/src/lib/j2k_encoder.h b/src/lib/j2k_encoder.h
index cc8a854eb..2180f3f6a 100644
--- a/src/lib/j2k_encoder.h
+++ b/src/lib/j2k_encoder.h
@@ -100,7 +100,7 @@ private:
boost::shared_ptr<Writer> _writer;
Waker _waker;
- boost::shared_ptr<PlayerVideo> _last_player_video;
+ boost::shared_ptr<PlayerVideo> _last_player_video[EYES_COUNT];
boost::optional<DCPTime> _last_player_video_time;
boost::signals2::scoped_connection _server_found_connection;