On Mon, 12 Mar 2018, wm4 wrote:

On Sun, 11 Mar 2018 18:12:05 +0100
Marton Balint <c...@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 <c...@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.

You're right, pushed without the !pkt->data check.

Thanks,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to