[FFmpeg-devel] [PATCH] ffprobe: fix infinite loop in subtitle decoding
wm4
nfxjfg at googlemail.com
Mon Mar 12 04:29:12 EET 2018
On Sun, 11 Mar 2018 18:12:05 +0100
Marton Balint <cus at passwd.hu> wrote:
> Fixes a regression since 2a88ebd096f3c748a2d99ed1b60b22879b3c567c which caused
> an infinite loop in the subtitle decoding.
>
> Fixes ticket #6796.
>
> Signed-off-by: Marton Balint <cus at passwd.hu>
> ---
> fftools/ffprobe.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
> index 967adbe30c..d8032bfddf 100644
> --- a/fftools/ffprobe.c
> +++ b/fftools/ffprobe.c
> @@ -2275,7 +2275,8 @@ static av_always_inline int process_frame(WriterContext *w,
> break;
>
> case AVMEDIA_TYPE_SUBTITLE:
> - ret = avcodec_decode_subtitle2(dec_ctx, &sub, &got_frame, pkt);
> + if (*packet_new || !pkt->data)
> + ret = avcodec_decode_subtitle2(dec_ctx, &sub, &got_frame, pkt);
> *packet_new = 0;
> break;
> default:
LGTM, but not sure why the "!pkt->data" check would be needed. The
flush packet sent at the end will have *packet_new==1.
More information about the ffmpeg-devel
mailing list