Added check to prevent live stream method call if packets callback is not provided.
This commit is contained in:
parent
6c7aa8a0d6
commit
c81fd19810
|
@ -87,6 +87,7 @@ objc_library(
|
|||
"//mediapipe/framework:calculator_cc_proto",
|
||||
"//mediapipe/tasks/cc/core:mediapipe_builtin_op_resolver",
|
||||
"//mediapipe/tasks/cc/core:task_runner",
|
||||
"//mediapipe/tasks/ios/common:MPPCommon",
|
||||
"//mediapipe/tasks/ios/common/utils:MPPCommonUtils",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
// limitations under the License.
|
||||
|
||||
#import "mediapipe/tasks/ios/core/sources/MPPTaskRunner.h"
|
||||
#import "mediapipe/tasks/ios/common/sources/MPPCommon.h"
|
||||
#import "mediapipe/tasks/ios/common/utils/sources/MPPCommonUtils.h"
|
||||
|
||||
#include "mediapipe/tasks/cc/core/mediapipe_builtin_op_resolver.h"
|
||||
|
@ -28,6 +29,7 @@ using TaskRunnerCpp = ::mediapipe::tasks::core::TaskRunner;
|
|||
@interface MPPTaskRunner () {
|
||||
// Cpp Task Runner
|
||||
std::unique_ptr<TaskRunnerCpp> _cppTaskRunner;
|
||||
BOOL _initializedWithPacketsCallback;
|
||||
}
|
||||
@end
|
||||
|
||||
|
@ -46,6 +48,7 @@ using TaskRunnerCpp = ::mediapipe::tasks::core::TaskRunner;
|
|||
return nil;
|
||||
}
|
||||
_cppTaskRunner = std::move(taskRunnerResult.value());
|
||||
_initializedWithPacketsCallback = packetsCallback ? YES : NO;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
@ -59,7 +62,20 @@ using TaskRunnerCpp = ::mediapipe::tasks::core::TaskRunner;
|
|||
}
|
||||
|
||||
- (BOOL)sendPacketMap:(const PacketMap &)packetMap error:(NSError **)error {
|
||||
if (!_initializedWithPacketsCallback) {
|
||||
[MPPCommonUtils
|
||||
createCustomError:error
|
||||
withCode:MPPTasksErrorCodeFailedPreconditionError
|
||||
description:[NSString
|
||||
stringWithFormat:@"This method can only be called if the task is "
|
||||
@"running in a stream mode and an object of a class "
|
||||
@"is provided as the delegate in the task options "
|
||||
@"to receive the results asynchronously."]];
|
||||
return NO;
|
||||
}
|
||||
|
||||
absl::Status sendStatus = _cppTaskRunner->Send(packetMap);
|
||||
|
||||
return [MPPCommonUtils checkCppError:sendStatus toError:error];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user