Fix some spelling mistakes (mostly in comments).
[dcpomatic.git] / src / lib / video_decoder.cc
index 18eb1acc15ff5d1f82ad5bc642ec941c1d233dae..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,7 +105,7 @@ 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) {
@@ -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);