X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fencoder.cc;h=2364b67a7ceccb5a1ced874efad51b83228fdcaa;hp=4fc2d7f81c152b760d00b0a8e0db79c2dd307c0c;hb=39bc73fe192f932ed6695eb87b19de446e8b4f55;hpb=884093edac5f63d26c02d411c73dfb52376ccf8f diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc index 4fc2d7f81..2364b67a7 100644 --- a/src/lib/encoder.cc +++ b/src/lib/encoder.cc @@ -61,9 +61,7 @@ Encoder::Encoder (shared_ptr f, weak_ptr j) , _video_frames_out (0) , _terminate (false) { - _have_a_real_frame[EYES_BOTH] = false; - _have_a_real_frame[EYES_LEFT] = false; - _have_a_real_frame[EYES_RIGHT] = false; + } Encoder::~Encoder () @@ -180,7 +178,7 @@ Encoder::frame_done () } void -Encoder::process_video (shared_ptr pvf, bool same) +Encoder::process_video (shared_ptr pvf) { _waker.nudge (); @@ -208,24 +206,22 @@ Encoder::process_video (shared_ptr pvf, bool same) if (_writer->can_fake_write (_video_frames_out)) { _writer->fake_write (_video_frames_out, pvf->eyes ()); - _have_a_real_frame[pvf->eyes()] = false; - frame_done (); - } else if (same && _have_a_real_frame[pvf->eyes()]) { - /* Use the last frame that we encoded. */ - _writer->repeat (_video_frames_out, pvf->eyes()); frame_done (); } else { /* Queue this new frame for encoding */ TIMING ("adding to queue of %1", _queue.size ()); _queue.push_back (shared_ptr ( new DCPVideoFrame ( - pvf, _video_frames_out, _film->video_frame_rate(), - _film->j2k_bandwidth(), _film->resolution(), _film->log() + pvf, + _video_frames_out, + _film->video_frame_rate(), + _film->j2k_bandwidth(), + _film->resolution(), + _film->log() ) )); _condition.notify_all (); - _have_a_real_frame[pvf->eyes()] = true; } if (pvf->eyes() != EYES_LEFT) {