Cleanup: move some stuff into process_video_frame().
[dcpomatic.git] / src / lib / ffmpeg_decoder.cc
index e5685f6611d60665367b46b97e5f66a06634d113..f64ccbd3b6305249c4522ee69d175dee6bb26849 100644 (file)
@@ -548,6 +548,15 @@ FFmpegDecoder::decode_and_process_video_packet (AVPacket* packet)
                throw DecodeError (N_("avcodec_receive_frame"), N_("FFmpeg::decode_and_process_video_packet"), r);
        }
 
                throw DecodeError (N_("avcodec_receive_frame"), N_("FFmpeg::decode_and_process_video_packet"), r);
        }
 
+       process_video_frame ();
+
+       return true;
+}
+
+
+void
+FFmpegDecoder::process_video_frame ()
+{
        /* We assume we'll only get one frame here, which I think is safe */
 
        boost::mutex::scoped_lock lm (_filter_graphs_mutex);
        /* We assume we'll only get one frame here, which I think is safe */
 
        boost::mutex::scoped_lock lm (_filter_graphs_mutex);
@@ -587,8 +596,6 @@ FFmpegDecoder::decode_and_process_video_packet (AVPacket* packet)
                        LOG_WARNING_NC ("Dropping frame without PTS");
                }
        }
                        LOG_WARNING_NC ("Dropping frame without PTS");
                }
        }
-
-       return true;
 }
 
 
 }