From: Zhao Zhili <zhiliz...@tencent.com>

Parse format can be called multiple times, e.g., when resolution
changed. If getInt32 fails, optional member variables will retain
their previously set values without modification. This can be a
big problem for new resolution with old crop info.

This patch reset optional fields to zero when getInt32 failed.
---
 libavcodec/mediacodecdec_common.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/mediacodecdec_common.c 
b/libavcodec/mediacodecdec_common.c
index 8a270f2f29..ae336ab835 100644
--- a/libavcodec/mediacodecdec_common.c
+++ b/libavcodec/mediacodecdec_common.c
@@ -537,6 +537,8 @@ static int mediacodec_wrap_sw_buffer(AVCodecContext *avctx,
         av_log(avctx, AV_LOG_ERROR, "Could not get %s from format %s\n", key, 
format); \
         ret = AVERROR_EXTERNAL;                                                
        \
         goto fail;                                                             
        \
+    } else {                                                                   
        \
+        (name) = 0;                                                            
        \
     }                                                                          
        \
 } while (0)                                                                    
        \
 
-- 
2.46.0

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

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to