From 7f84858dcf49bc747805b247151b96de7606555a Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun Date: Tue, 30 Jun 2015 21:09:50 +0200 Subject: ffmpeg: only count got_output/errors in decode_error_stat If threading is used, the first (thread_count - 1) packets are read before any frame/error is returned. Counting this as successful decoding is wrong, because it also happens when no single frame could be decoded. Reviewed-by: Michael Niedermayer Signed-off-by: Andreas Cadhalpun (cherry picked from commit bd0f14123fd8c7ff1c27b726d143f84c67f3a522) Signed-off-by: Andreas Cadhalpun (cherry picked from commit 70b97a89d2d7ba837c830b1da5924314d68fc3e7) Signed-off-by: Michael Niedermayer --- ffmpeg.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index 2612bebd88..f0bc13f456 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1841,7 +1841,7 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output) ret = AVERROR_INVALIDDATA; } - if (*got_output || ret<0 || pkt->size) + if (*got_output || ret<0) decode_error_stat[ret<0] ++; if (ret < 0 && exit_on_error) @@ -1989,7 +1989,7 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output) ); } - if (*got_output || ret<0 || pkt->size) + if (*got_output || ret<0) decode_error_stat[ret<0] ++; if (ret < 0 && exit_on_error) @@ -2110,7 +2110,7 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output) int i, ret = avcodec_decode_subtitle2(ist->dec_ctx, &subtitle, got_output, pkt); - if (*got_output || ret<0 || pkt->size) + if (*got_output || ret<0) decode_error_stat[ret<0] ++; if (ret < 0 && exit_on_error) -- cgit v1.2.3