[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