2015-07-14 Carl Hetherington <cth@carlh.net>
+ * Fix failure to encode 3D from separate content
+ in some cases (from 1.x) (#634).
+
* Fix non-working 3D DCP creation when using separate
pieces of content for each eye (#635).
: _film (film)
, _job (j)
, _video_frames_enqueued (0)
+ , _left_done (false)
+ , _right_done (false)
, _terminate (false)
, _writer (writer)
{
_empty_condition.notify_all ();
}
- if (pv->eyes() != EYES_LEFT) {
+ switch (pv->eyes ()) {
+ case EYES_BOTH:
++_video_frames_enqueued;
+ break;
+ case EYES_LEFT:
+ _left_done = true;
+ break;
+ case EYES_RIGHT:
+ _right_done = true;
+ break;
+ default:
+ break;
+ }
+
+ if (_left_done && _right_done) {
+ ++_video_frames_enqueued;
+ _left_done = _right_done = false;
}
_last_player_video = pv;
/** Number of video frames enqueued so far */
int _video_frames_enqueued;
+ bool _left_done;
+ bool _right_done;
bool _terminate;
std::list<boost::shared_ptr<DCPVideo> > _queue;