@@ -103,10 +103,18 @@ TfLiteImageClassifierOptions TfLiteImageClassifierOptionsCreate() {
103103
104104TfLiteImageClassifier* TfLiteImageClassifierFromOptions (
105105 const TfLiteImageClassifierOptions* options, TfLiteSupportError** error) {
106+ if (options == nullptr ) {
107+ ::tflite::support::CreateTfLiteSupportError (
108+ kInvalidArgumentError , " Expected non null options." , error);
109+ return nullptr ;
110+ }
111+
106112 std::unique_ptr<ImageClassifierOptionsCpp> cpp_options =
107113 CreateImageClassifierCppOptionsFromCOptions (options);
108114
109115 if (cpp_options == nullptr ) {
116+ ::tflite::support::CreateTfLiteSupportError (
117+ kError , " Some error occured." , error);
110118 return nullptr ;
111119 }
112120
@@ -116,8 +124,8 @@ TfLiteImageClassifier* TfLiteImageClassifierFromOptions(
116124 return new TfLiteImageClassifier{.impl =
117125 std::move (classifier_status.value ())};
118126 } else {
119- ::tflite::support::CreateTfLiteSupportErrorWithStatus (classifier_status.status(),
120- error);
127+ ::tflite::support::CreateTfLiteSupportErrorWithStatus (
128+ classifier_status.status(), error);
121129 return nullptr ;
122130 }
123131}
@@ -168,7 +176,15 @@ TfLiteClassificationResult* TfLiteImageClassifierClassifyWithRoi(
168176 const TfLiteImageClassifier* classifier,
169177 const TfLiteFrameBuffer* frame_buffer, const TfLiteBoundingBox* roi,
170178 TfLiteSupportError** error) {
171- if (classifier == nullptr || frame_buffer == nullptr ) {
179+ if (classifier == nullptr ) {
180+ ::tflite::support::CreateTfLiteSupportError (
181+ kInvalidArgumentError , " Expected non null image classifier." , error);
182+ return nullptr ;
183+ }
184+
185+ if (frame_buffer == nullptr ) {
186+ ::tflite::support::CreateTfLiteSupportError (
187+ kInvalidArgumentError , " Expected non null frame buffer." , error);
172188 return nullptr ;
173189 }
174190
@@ -185,20 +201,24 @@ TfLiteClassificationResult* TfLiteImageClassifierClassifyWithRoi(
185201
186202 StatusOr<std::unique_ptr<FrameBufferCpp>> cpp_frame_buffer_status =
187203 ::tflite::task::vision::CreateCppFrameBuffer (*frame_buffer);
188- if (!cpp_frame_buffer_status.ok ()) return nullptr ;
189-
204+ if (!cpp_frame_buffer_status.ok ()) {
205+ ::tflite::support::CreateTfLiteSupportErrorWithStatus (
206+ cpp_frame_buffer_status.status(), error);
207+ return nullptr ;
208+ }
209+
190210 // fnc_sample(cpp_frame_buffer_status);
191- StatusOr<ClassificationResultCpp> classification_result_cpp =
211+ StatusOr<ClassificationResultCpp> cpp_classification_result_status =
192212 classifier->impl ->Classify (*std::move (cpp_frame_buffer_status.value ()),
193213 cc_roi);
194214
195- if (!classification_result_cpp .ok ()) {
215+ if (!cpp_classification_result_status .ok ()) {
196216 ::tflite::support::CreateTfLiteSupportErrorWithStatus (
197- classification_result_cpp .status(), error);
217+ cpp_classification_result_status .status(), error);
198218 return nullptr ;
199219 }
200220
201- return GetClassificationResultCStruct (classification_result_cpp .value ());
221+ return GetClassificationResultCStruct (cpp_classification_result_status .value ());
202222}
203223
204224TfLiteClassificationResult* TfLiteImageClassifierClassify (
0 commit comments