mirror of https://git.ffmpeg.org/ffmpeg.git
ffmpeg: factorize checking decoder result
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
f4730a5845
commit
e2b416b68e
27
ffmpeg.c
27
ffmpeg.c
|
@ -1925,6 +1925,15 @@ int guess_input_channel_layout(InputStream *ist)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static void check_decode_result(int *got_output, int ret)
|
||||
{
|
||||
if (*got_output || ret<0)
|
||||
decode_error_stat[ret<0] ++;
|
||||
|
||||
if (ret < 0 && exit_on_error)
|
||||
exit_program(1);
|
||||
}
|
||||
|
||||
static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
|
||||
{
|
||||
AVFrame *decoded_frame, *f;
|
||||
|
@ -1947,11 +1956,7 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
|
|||
ret = AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
if (*got_output || ret<0)
|
||||
decode_error_stat[ret<0] ++;
|
||||
|
||||
if (ret < 0 && exit_on_error)
|
||||
exit_program(1);
|
||||
check_decode_result(got_output, ret);
|
||||
|
||||
if (!*got_output || ret < 0)
|
||||
return ret;
|
||||
|
@ -2088,11 +2093,7 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
|
|||
ist->st->codec->has_b_frames);
|
||||
}
|
||||
|
||||
if (*got_output || ret<0)
|
||||
decode_error_stat[ret<0] ++;
|
||||
|
||||
if (ret < 0 && exit_on_error)
|
||||
exit_program(1);
|
||||
check_decode_result(got_output, ret);
|
||||
|
||||
if (*got_output && ret >= 0) {
|
||||
if (ist->dec_ctx->width != decoded_frame->width ||
|
||||
|
@ -2200,11 +2201,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)
|
||||
decode_error_stat[ret<0] ++;
|
||||
|
||||
if (ret < 0 && exit_on_error)
|
||||
exit_program(1);
|
||||
check_decode_result(got_output, ret);
|
||||
|
||||
if (ret < 0 || !*got_output) {
|
||||
if (!pkt->size)
|
||||
|
|
Loading…
Reference in New Issue