summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlibcsc/csc.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/libcsc/csc.c b/libcsc/csc.c
index d90968e..39e4a95 100755
--- a/libcsc/csc.c
+++ b/libcsc/csc.c
@@ -745,6 +745,7 @@ static CSC_ERRORCODE csc_init_hw(
ALOGE("%s:: CSC_METHOD_HW can't open HW", __func__);
free(csc_handle);
csc_handle = NULL;
+ ret = CSC_ErrorNotInit;
}
}
if (csc_handle)
@@ -1260,8 +1261,12 @@ 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;
+ }
csc_set_format(csc_handle);
csc_set_buffer(csc_handle);
@@ -1284,8 +1289,12 @@ CSC_ERRORCODE csc_convert_with_rotation(
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;
+ }
csc_set_format(csc_handle);
csc_set_buffer(csc_handle);