From: Greg Hackmann Date: Mon, 10 Dec 2012 23:28:45 +0000 (-0800) Subject: csc: handle Gscaler errors X-Git-Tag: cm-10.2-M1^2~30^2~5 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=4328d3947562a17ab929b0ac2bfe67497f9e1d07;p=GitHub%2FLineageOS%2Fandroid_hardware_samsung_slsi_exynos5.git csc: handle Gscaler errors Change-Id: I75f0d0966e9f7ef10068645df0f41fa6b837c517 Signed-off-by: Greg Hackmann --- diff --git a/libcsc/csc.c b/libcsc/csc.c index 409391a..ddb4541 100644 --- a/libcsc/csc.c +++ b/libcsc/csc.c @@ -363,8 +363,7 @@ static CSC_ERRORCODE csc_init_hw( if (csc_handle->csc_method == CSC_METHOD_HW) { if (csc_handle->csc_hw_handle == NULL) { ALOGE("%s:: CSC_METHOD_HW can't open HW", __func__); - free(csc_handle); - csc_handle = NULL; + ret = CSC_Error; } } @@ -711,11 +710,19 @@ CSC_ERRORCODE csc_convert( return CSC_ErrorNotInit; if ((csc_handle->csc_method == CSC_METHOD_HW) && - (csc_handle->csc_hw_handle == NULL)) - csc_init_hw(handle); + (csc_handle->csc_hw_handle == NULL)) { + ret = csc_init_hw(handle); + if (ret != CSC_ErrorNone) + return ret; + } + + ret = csc_set_format(csc_handle); + if (ret != CSC_ErrorNone) + return ret; - csc_set_format(csc_handle); - csc_set_buffer(csc_handle); + ret = csc_set_buffer(csc_handle); + if (ret != CSC_ErrorNone) + return ret; if (csc_handle->csc_method == CSC_METHOD_HW) ret = conv_hw(csc_handle);