[FFmpeg-cvslog] ffmpeg: exit_on_error if decoding a packet failed
Andreas Cadhalpun
git at videolan.org
Wed Jul 1 00:35:27 CEST 2015
ffmpeg | branch: master | Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com> | Tue Jun 30 21:06:40 2015 +0200| [cd64ead8d96b2d2c300e0ac620fb82b17d6051bf] | committer: Andreas Cadhalpun
ffmpeg: exit_on_error if decoding a packet failed
This is the second part of the fix for ticket #4370.
Reviewed-by: Michael Niedermayer <michaelni at gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cd64ead8d96b2d2c300e0ac620fb82b17d6051bf
---
ffmpeg.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/ffmpeg.c b/ffmpeg.c
index aac03bb..e3d0cc4 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1873,6 +1873,9 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
if (*got_output || ret<0 || pkt->size)
decode_error_stat[ret<0] ++;
+ if (ret < 0 && exit_on_error)
+ exit_program(1);
+
if (!*got_output || ret < 0)
return ret;
@@ -2009,6 +2012,9 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
if (*got_output || ret<0 || pkt->size)
decode_error_stat[ret<0] ++;
+ if (ret < 0 && exit_on_error)
+ exit_program(1);
+
if (*got_output && ret >= 0) {
if (ist->dec_ctx->width != decoded_frame->width ||
ist->dec_ctx->height != decoded_frame->height ||
@@ -2118,6 +2124,9 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output)
if (*got_output || ret<0 || pkt->size)
decode_error_stat[ret<0] ++;
+ if (ret < 0 && exit_on_error)
+ exit_program(1);
+
if (ret < 0 || !*got_output) {
if (!pkt->size)
sub2video_flush(ist);
More information about the ffmpeg-cvslog
mailing list