From 3d15acf27bb57d61ae555d4b2c7bed5053a47c20 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Mon, 27 Jun 2005 09:37:16 +0000
Subject: [PATCH] keep decoding nal units after an error

Originally committed as revision 4399 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/h264.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 4594eb9bd81..9517f3cc710 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -7222,7 +7222,10 @@ static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){
             h->inter_gb_ptr= &s->gb;
             s->data_partitioning = 0;
             
-            if(decode_slice_header(h) < 0) return -1;
+            if(decode_slice_header(h) < 0){
+                av_log(h->s.avctx, AV_LOG_ERROR, "decode_slice_header error\n");
+                break;
+            }
             if(h->redundant_pic_count==0 && s->hurry_up < 5 )
                 decode_slice(h);
             break;
@@ -7232,7 +7235,9 @@ static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){
             h->inter_gb_ptr= NULL;
             s->data_partitioning = 1;
             
-            if(decode_slice_header(h) < 0) return -1;
+            if(decode_slice_header(h) < 0){
+                av_log(h->s.avctx, AV_LOG_ERROR, "decode_slice_header error\n");
+            }
             break;
         case NAL_DPB:
             init_get_bits(&h->intra_gb, ptr, bit_length);
-- 
GitLab