Fix some spelling mistakes (mostly in comments).
[dcpomatic.git] / src / lib / video_decoder.cc
index 215024e29b04d0179a0b8aeea5e7f9d076d1911e..cf21f885a3fbc6af45ba2efde1cfc18ad645eb9b 100644 (file)
 #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;
 
 
@@ -101,7 +96,7 @@ VideoDecoder::emit (shared_ptr<const Film> film, shared_ptr<const ImageProxy> im
        if (!_position) {
                /* This is the first data we have received since initialisation or seek.  Set
                   the position based on the frame that was given.  After this first time
-                  we just cound frames, since (as with audio) it seems that ContentTimes
+                  we just count frames, since (as with audio) it seems that ContentTimes
                   are unreliable from FFmpegDecoder.  They are much better than audio times
                   but still we get the occasional one which is duplicated.  In this case
                   ffmpeg seems to carry on regardless, processing the video frame as normal.
@@ -110,12 +105,12 @@ VideoDecoder::emit (shared_ptr<const Film> film, shared_ptr<const ImageProxy> im
 
                if (vft == VideoFrameType::THREE_D_ALTERNATE) {
                        frame = decoder_frame / 2;
-                       eyes = (decoder_frame % 1) ? Eyes::RIGHT : Eyes::LEFT;
+                       eyes = (decoder_frame % 2) ? Eyes::RIGHT : Eyes::LEFT;
                } else {
                        frame = decoder_frame;
                        if (vft == VideoFrameType::THREE_D) {
                                auto j2k = dynamic_pointer_cast<const J2KImageProxy>(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<const Film> film, shared_ptr<const ImageProxy> 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);