add verification on return value -- review request #128
Showing the changes to codec/encoder/plus/src/welsEncoderExt.cpp (1 of 2 files). Show all
Unified · Split
| @@ -406,8 +406,14 @@ int CWelsH264SVCEncoder::Initialize2 (SWelsSvcCodingParam* pCfg) { · 405 unmodified lines | ||
| 406 | 406 | m_iSrcListSize = 0; |
| 407 | 407 | return cmMallocMemeError; |
| 408 | 408 | } |
| 409 | − InitPic (m_pSrcPicList[i], iColorspace, m_iMaxPicWidth, m_iMaxPicHeight); | |
| 410 | − } | |
| 409 | + if(InitPic (m_pSrcPicList[i], iColorspace, m_iMaxPicWidth, m_iMaxPicHeight)) | |
| 410 | + { | |
| 411 | + WelsLog (m_pEncContext, WELS_LOG_ERROR, | |
| 412 | + "CWelsH264SVCEncoder::Initialize(), InitPic Failed iColorspace= 0x%x\n", iColorspace); | |
| 413 | + Uninitialize(); | |
| 414 | + return cmInitParaError; | |
| 415 | + } | |
| 416 | + } | |
| 411 | 417 | |
| 412 | 418 | if (WelsInitEncoderExt (&m_pEncContext, pCfg)) { |
| 413 | 419 | WelsLog (m_pEncContext, WELS_LOG_ERROR, "CWelsH264SVCEncoder::Initialize(), WelsInitEncoderExt failed.\n"); |
| @@ -711,7 +717,13 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 297 unmodified lines | ||
| 711 | 717 | continue; |
| 712 | 718 | } |
| 713 | 719 | |
| 714 | − InitPic (m_pSrcPicList[iPicIdx], iColorspace, m_iMaxPicWidth, m_iMaxPicHeight); | |
| 720 | + if(InitPic (m_pSrcPicList[iPicIdx], iColorspace, m_iMaxPicWidth, m_iMaxPicHeight)) | |
| 721 | + { | |
| 722 | + WelsLog (m_pEncContext, WELS_LOG_INFO, | |
| 723 | + "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_DATAFORMAT, iColorspace= 0x%x\n", | |
| 724 | + iColorspace); | |
| 725 | + return cmInitParaError; | |
| 726 | + } | |
| 715 | 727 | } |
| 716 | 728 | m_iCspInternal = iColorspace; |
| 717 | 729 | #ifdef REC_FRAME_COUNT |
| @@ -810,7 +822,13 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 92 unmodified lines | ||
| 810 | 822 | } |
| 811 | 823 | if (m_iCspInternal != iInputColorspace || m_iMaxPicWidth != iTargetWidth |
| 812 | 824 | || m_iMaxPicHeight != iTargetHeight) { // for color space due to changed |
| 813 | − InitPic (m_pSrcPicList[0], iInputColorspace, iTargetWidth, iTargetHeight); | |
| 825 | + if(InitPic (m_pSrcPicList[0], iInputColorspace, iTargetWidth, iTargetHeight)) | |
| 826 | + { | |
| 827 | + WelsLog (m_pEncContext, WELS_LOG_INFO, | |
| 828 | + "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, iInputColorspace= 0x%x\n", | |
| 829 | + iInputColorspace); | |
| 830 | + return cmInitParaError; | |
| 831 | + } | |
| 814 | 832 | m_iMaxPicWidth = iTargetWidth; |
| 815 | 833 | m_iMaxPicHeight = iTargetHeight; |
| 816 | 834 | m_iCspInternal = iInputColorspace; |