Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
---
 libavcodec/h264_sei.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavcodec/h264_sei.c b/libavcodec/h264_sei.c
index 95fc5da..1c6b0d7 100644
--- a/libavcodec/h264_sei.c
+++ b/libavcodec/h264_sei.c
@@ -425,6 +425,8 @@ static int decode_GreenMetadata(H264Context *h)
 
 int ff_h264_decode_sei(H264Context *h)
 {
+    int master_ret = 0;
+
     while (get_bits_left(&h->gb) > 16 && show_bits(&h->gb, 16)) {
         int type = 0;
         unsigned size = 0;
@@ -482,6 +484,8 @@ int ff_h264_decode_sei(H264Context *h)
             av_log(h->avctx, AV_LOG_DEBUG, "unknown SEI type %d\n", type);
         }
         if (ret < 0)
+            master_ret = ret;
+        if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
             return ret;
 
         skip_bits_long(&h->gb, next - get_bits_count(&h->gb));
@@ -490,7 +494,7 @@ int ff_h264_decode_sei(H264Context *h)
         align_get_bits(&h->gb);
     }
 
-    return 0;
+    return master_ret;
 }
 
 const char* ff_h264_sei_stereo_mode(H264Context *h)
-- 
1.7.9.5

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

Reply via email to