diff options
| author | Carl Hetherington <cth@carlh.net> | 2017-05-31 16:20:09 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2017-05-31 16:20:09 +0100 |
| commit | d0a0a4839f0e1e8d37f9f9ad41784c4d18210a6b (patch) | |
| tree | 17cc7260004a09a9d92dbb0f01e6156c0a58cc07 /src/lib | |
| parent | dd879e5254c1e005e60ccd135a37f70cb2fe3a75 (diff) | |
Allow repeat-frame to work with 3D.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/j2k_encoder.cc | 4 | ||||
| -rw-r--r-- | src/lib/j2k_encoder.h | 2 |
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; |
