summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-01-11 16:38:13 +0100
committerCarl Hetherington <cth@carlh.net>2022-01-11 16:38:13 +0100
commit3b3ab3a69bc35f30690c9e5a5703baf3c700e41b (patch)
tree9d0441b906f83d86ea354217ecf672228c5c1436
parent32925ee291446cfba8bbd35828ba1719373edb40 (diff)
Cleanup: move some stuff into process_video_frame().
-rw-r--r--src/lib/ffmpeg_decoder.cc11
-rw-r--r--src/lib/ffmpeg_decoder.h2
2 files changed, 11 insertions, 2 deletions
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc
index 6c863f3b4..0c9f1de6e 100644
--- a/src/lib/ffmpeg_decoder.cc
+++ b/src/lib/ffmpeg_decoder.cc
@@ -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);
}
+ 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);
@@ -587,8 +596,6 @@ FFmpegDecoder::decode_and_process_video_packet (AVPacket* packet)
LOG_WARNING_NC ("Dropping frame without PTS");
}
}
-
- return true;
}
diff --git a/src/lib/ffmpeg_decoder.h b/src/lib/ffmpeg_decoder.h
index 264733c70..b4b0faa3b 100644
--- a/src/lib/ffmpeg_decoder.h
+++ b/src/lib/ffmpeg_decoder.h
@@ -62,6 +62,8 @@ private:
std::shared_ptr<FFmpegAudioStream> audio_stream_from_index (int index) const;
void process_audio_frame (std::shared_ptr<FFmpegAudioStream> stream);
+ void process_video_frame ();
+
bool decode_and_process_video_packet (AVPacket* packet);
void decode_and_process_audio_packet (AVPacket* packet);
void decode_and_process_subtitle_packet (AVPacket* packet);