From 1bfd1b2bf9e3e47bf171d8ed5379e5f2c7220218 Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Tue, 20 Nov 2018 15:17:44 +0800 Subject: [PATCH] msdk: Make sure a variable is initialized when it is used Previously alloc_info is initialized when both thiz->initialized and thiz->allocation_caps are true, but only thiz->initialized is checked when alloc_info is used. --- sys/msdk/gstmsdkdec.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/sys/msdk/gstmsdkdec.c b/sys/msdk/gstmsdkdec.c index 8c8138078c..cb81400188 100644 --- a/sys/msdk/gstmsdkdec.c +++ b/sys/msdk/gstmsdkdec.c @@ -893,16 +893,17 @@ gst_msdkdec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame) goto done; } - if (thiz->initialized && thiz->allocation_caps) + if (!thiz->initialized) + hard_reset = TRUE; + else if (thiz->allocation_caps) { gst_video_info_from_caps (&alloc_info, thiz->allocation_caps); - /* Check whether we need complete reset for dynamic resolution change */ - if (!thiz->initialized || (thiz->initialized && - (thiz->param.mfx.FrameInfo.Width > - GST_VIDEO_INFO_WIDTH (&alloc_info) - || thiz->param.mfx.FrameInfo.Height > - GST_VIDEO_INFO_HEIGHT (&alloc_info)))) - hard_reset = TRUE; + /* Check whether we need complete reset for dynamic resolution change */ + if (thiz->param.mfx.FrameInfo.Width > GST_VIDEO_INFO_WIDTH (&alloc_info) + || thiz->param.mfx.FrameInfo.Height > + GST_VIDEO_INFO_HEIGHT (&alloc_info)) + hard_reset = TRUE; + } /* if subclass requested for the force reset */ if (thiz->force_reset_on_res_change)