* so each time the supplied frame is the one after the previous one.
* pv represents one video frame, and could be empty if there is nothing to encode
* for this DCP frame.
* so each time the supplied frame is the one after the previous one.
* pv represents one video frame, and could be empty if there is nothing to encode
* for this DCP frame.
_writer->fake_write (position, pv->eyes ());
frame_done ();
} else if (pv->has_j2k ()) {
_writer->fake_write (position, pv->eyes ());
frame_done ();
} else if (pv->has_j2k ()) {
/* This frame already has JPEG2000 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)) {
/* This frame already has JPEG2000 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)) {
/* Queue this new frame for encoding */
LOG_TIMING ("add-frame-to-queue queue=%1", _queue.size ());
_queue.push_back (shared_ptr<DCPVideo> (
/* Queue this new frame for encoding */
LOG_TIMING ("add-frame-to-queue queue=%1", _queue.size ());
_queue.push_back (shared_ptr<DCPVideo> (