X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fvideo_decoder.cc;h=cee4bcdc696d64fde8d4e69957c1355b517560d1;hb=9a97c1b4116d7fb80e8ab145c0cc738dbf14d617;hp=215024e29b04d0179a0b8aeea5e7f9d076d1911e;hpb=cbb8260e395058da76b3de518ebc535a114c54b1;p=dcpomatic.git diff --git a/src/lib/video_decoder.cc b/src/lib/video_decoder.cc index 215024e29..cee4bcdc6 100644 --- a/src/lib/video_decoder.cc +++ b/src/lib/video_decoder.cc @@ -32,14 +32,9 @@ #include "i18n.h" -using std::back_inserter; using std::cout; using std::dynamic_pointer_cast; -using std::list; -using std::make_shared; -using std::max; using std::shared_ptr; -using boost::optional; using namespace dcpomatic; @@ -115,7 +110,7 @@ VideoDecoder::emit (shared_ptr film, shared_ptr im frame = decoder_frame; if (vft == VideoFrameType::THREE_D) { auto j2k = dynamic_pointer_cast(image); - /* At the moment only DCP decoders producers VideoFrameType::THREE_D, so only the J2KImagProxy + /* At the moment only DCP decoders producers VideoFrameType::THREE_D, so only the J2KImageProxy * knows which eye it is. */ if (j2k && j2k->eye()) { @@ -136,6 +131,9 @@ VideoDecoder::emit (shared_ptr film, shared_ptr im frame = _position->frames_round(afr); eyes = Eyes::RIGHT; } + } else { + /* This should not happen; see above */ + frame = _position->frames_round(afr) + 1; } } else if (vft == VideoFrameType::THREE_D_ALTERNATE) { DCPOMATIC_ASSERT (_last_emitted_eyes);