[FFmpeg-cvslog] fftools/ffmpeg: move handling corrupt packets to the input thread
Anton Khirnov
git at videolan.org
Mon Aug 8 17:27:56 EEST 2022
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Mar 22 18:17:27 2022 +0100| [a5e025e826789164569d2ff44a784cd3f953eaca] | committer: Anton Khirnov
fftools/ffmpeg: move handling corrupt packets to the input thread
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a5e025e826789164569d2ff44a784cd3f953eaca
---
fftools/ffmpeg.c | 7 -------
fftools/ffmpeg_demux.c | 11 +++++++++++
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 6ff5432597..0682a6fcc5 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -3729,13 +3729,6 @@ static int process_input(int file_index)
if (ist->discard)
goto discard_packet;
- if (pkt->flags & AV_PKT_FLAG_CORRUPT) {
- av_log(NULL, exit_on_error ? AV_LOG_FATAL : AV_LOG_WARNING,
- "%s: corrupt input packet in stream %d\n", is->url, pkt->stream_index);
- if (exit_on_error)
- exit_program(1);
- }
-
if (debug_ts) {
av_log(NULL, AV_LOG_INFO, "demuxer -> ist_index:%d type:%s "
"next_dts:%s next_dts_time:%s next_pts:%s next_pts_time:%s pkt_pts:%s pkt_pts_time:%s pkt_dts:%s pkt_dts_time:%s duration:%s duration_time:%s off:%s off_time:%s\n",
diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index 31b233c4f4..d15cee614d 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -165,6 +165,17 @@ static void *input_thread(void *arg)
continue;
}
+ if (pkt->flags & AV_PKT_FLAG_CORRUPT) {
+ av_log(NULL, exit_on_error ? AV_LOG_FATAL : AV_LOG_WARNING,
+ "%s: corrupt input packet in stream %d\n",
+ f->ctx->url, pkt->stream_index);
+ if (exit_on_error) {
+ av_packet_unref(pkt);
+ ret = AVERROR_INVALIDDATA;
+ break;
+ }
+ }
+
msg.pkt = av_packet_alloc();
if (!msg.pkt) {
av_packet_unref(pkt);
More information about the ffmpeg-cvslog
mailing list