diff --git a/mediapipe/tasks/ios/core/sources/MPPTaskRunner.h b/mediapipe/tasks/ios/core/sources/MPPTaskRunner.h index fbb12295f..b2881ac06 100644 --- a/mediapipe/tasks/ios/core/sources/MPPTaskRunner.h +++ b/mediapipe/tasks/ios/core/sources/MPPTaskRunner.h @@ -17,6 +17,8 @@ #include "mediapipe/framework/calculator.pb.h" #include "mediapipe/tasks/cc/core/task_runner.h" +#include + NS_ASSUME_NONNULL_BEGIN /** @@ -72,8 +74,6 @@ NS_ASSUME_NONNULL_BEGIN * caller's responsibility to synchronize access to this method across multiple threads and to * ensure that the input packet timestamps are in order. */ -- (absl::StatusOr)process: - (const mediapipe::tasks::core::PacketMap &)packetMap; - (std::optional) processPacketMap:(const mediapipe::tasks::core::PacketMap &)packetMap error:(NSError **)error; diff --git a/mediapipe/tasks/ios/core/sources/MPPTaskRunner.mm b/mediapipe/tasks/ios/core/sources/MPPTaskRunner.mm index f7db95536..a57846338 100644 --- a/mediapipe/tasks/ios/core/sources/MPPTaskRunner.mm +++ b/mediapipe/tasks/ios/core/sources/MPPTaskRunner.mm @@ -50,8 +50,14 @@ using TaskRunnerCpp = ::mediapipe::tasks::core::TaskRunner; return self; } -- (absl::StatusOr)process:(const PacketMap &)packetMap { - return _cppTaskRunner->Process(packetMap); +- (std::optional)processPacketMap:(const PacketMap &)packetMap error:(NSError **)error { + absl::StatusOr resultPacketMap = _cppTaskRunner->Process(packetMap); + if (![MPPCommonUtils checkCppError:resultPacketMap.status() toError:error]) { + return std::nullopt; + } + return resultPacketMap.value(); +} + - (BOOL)sendPacketMap:(const PacketMap &)packetMap error:(NSError **)error { absl::Status sendStatus = _cppTaskRunner->Send(packetMap); return [MPPCommonUtils checkCppError:sendStatus toError:error];