diff --git a/frameworks/native/capi/image_effect_filter.cpp b/frameworks/native/capi/image_effect_filter.cpp index baa45e854ef4cdcd198e4a58280fe2534b030b0c..a7c58afe79b8b9304afa13b740799fee577529c9 100644 --- a/frameworks/native/capi/image_effect_filter.cpp +++ b/frameworks/native/capi/image_effect_filter.cpp @@ -611,7 +611,7 @@ ImageEffect_ErrorCode OH_EffectFilter_Render(OH_EffectFilter *filter, OH_Pixelma if (filter->filter_->IsTextureInput()) { std::shared_ptr tempEffectBuffer = nullptr; ErrorCode res = filter->filter_->Render(tempEffectBuffer, tempEffectBuffer); - CHECK_AND_RETURN_RET_LOG(res == ErrorCode::SUCCESS, ImageEffect_ErrorCode::EFFECT_UNKNOWN, + CHECK_AND_RETURN_RET_LOG(res == ErrorCode::SUCCESS, NativeCommonUtils::ConvertRenderResult(res), "FilterRender: filter render fail! errorCode:%{public}d", res); return ImageEffect_ErrorCode::EFFECT_SUCCESS; } @@ -643,7 +643,7 @@ ImageEffect_ErrorCode OH_EffectFilter_Render(OH_EffectFilter *filter, OH_Pixelma result = filter->filter_->Render(inEffectBuffer, outEffectBuffer); CommonUtils::UnlockPixelMap(input); CommonUtils::UnlockPixelMap(output); - CHECK_AND_RETURN_RET_LOG(result == ErrorCode::SUCCESS, ImageEffect_ErrorCode::EFFECT_UNKNOWN, + CHECK_AND_RETURN_RET_LOG(result == ErrorCode::SUCCESS, NativeCommonUtils::ConvertRenderResult(result), "FilterRender: filter render fail! errorCode:%{public}d", result); return ImageEffect_ErrorCode::EFFECT_SUCCESS; @@ -675,7 +675,7 @@ ImageEffect_ErrorCode OH_EffectFilter_RenderWithTextureId(OH_EffectFilter *filte return ImageEffect_ErrorCode::EFFECT_ERROR_PARAM_INVALID; } result = filter->filter_->Render(inEffectBuffer, outEffectBuffer); - CHECK_AND_RETURN_RET_LOG(result == ErrorCode::SUCCESS, ImageEffect_ErrorCode::EFFECT_UNKNOWN, + CHECK_AND_RETURN_RET_LOG(result == ErrorCode::SUCCESS, NativeCommonUtils::ConvertRenderResult(result), "FilterRender: filter render fail! errorCode:%{public}d", result); return ImageEffect_ErrorCode::EFFECT_SUCCESS; } diff --git a/frameworks/native/capi/native_common_utils.cpp b/frameworks/native/capi/native_common_utils.cpp index a1c1d849a2fb72e34620df1347d883fde71a39ed..761550889b3f430f73105a331bcc00a6742bf78d 100644 --- a/frameworks/native/capi/native_common_utils.cpp +++ b/frameworks/native/capi/native_common_utils.cpp @@ -59,6 +59,10 @@ static const std::map ERRORCODE_TABLE = { { ErrorCode::ERR_NOT_SUPPORT_INPUT_OUTPUT_COLORSPACE, ImageEffect_ErrorCode::EFFECT_COLOR_SPACE_NOT_MATCH }, }; +static const std::map ERRORCODE_TABLE_RENDER = { + { ErrorCode::ERR_UNSUPPORTED_FORMAT_TYPE, ImageEffect_ErrorCode::EFFECT_INPUT_OUTPUT_NOT_SUPPORTED }, +}; + template ErrorCode AnyCastOHAny(const Plugin::Any &any, ImageEffect_DataType &ohDataType, ImageEffect_DataType ohDataTypeValue, ValueType &value) @@ -347,6 +351,15 @@ ImageEffect_ErrorCode NativeCommonUtils::ConvertStartResult(ErrorCode errorCode) } return iter->second; } + +ImageEffect_ErrorCode NativeCommonUtils::ConvertRenderResult(ErrorCode errorCode) +{ + auto iter = ERRORCODE_TABLE_RENDER.find(errorCode); + if (iter == ERRORCODE_TABLE_RENDER.end()) { + return ImageEffect_ErrorCode::EFFECT_UNKNOWN; + } + return iter->second; +} } // namespace Effect } // namespace Media } // namespace OHOS \ No newline at end of file diff --git a/frameworks/native/capi/native_common_utils.h b/frameworks/native/capi/native_common_utils.h index 0e883675991d8becf141adb7f20275a5163e3af7..937edc1c6fc250436f76fddc52fd26bcca3d1b0b 100644 --- a/frameworks/native/capi/native_common_utils.h +++ b/frameworks/native/capi/native_common_utils.h @@ -56,6 +56,8 @@ public: static void ReportEventStartFailed(ImageEffect_ErrorCode errorCode, const char *errorMsg); static ImageEffect_ErrorCode ConvertStartResult(ErrorCode errorCode); + + static ImageEffect_ErrorCode ConvertRenderResult(ErrorCode errorCode); }; } // namespace Effect } // namespace Media