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/framework:calculator_cc_proto",
|
||||||
"//mediapipe/tasks/cc/core:mediapipe_builtin_op_resolver",
|
"//mediapipe/tasks/cc/core:mediapipe_builtin_op_resolver",
|
||||||
"//mediapipe/tasks/cc/core:task_runner",
|
"//mediapipe/tasks/cc/core:task_runner",
|
||||||
|
"//mediapipe/tasks/ios/common:MPPCommon",
|
||||||
"//mediapipe/tasks/ios/common/utils:MPPCommonUtils",
|
"//mediapipe/tasks/ios/common/utils:MPPCommonUtils",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
#import "mediapipe/tasks/ios/core/sources/MPPTaskRunner.h"
|
#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"
|
#import "mediapipe/tasks/ios/common/utils/sources/MPPCommonUtils.h"
|
||||||
|
|
||||||
#include "mediapipe/tasks/cc/core/mediapipe_builtin_op_resolver.h"
|
#include "mediapipe/tasks/cc/core/mediapipe_builtin_op_resolver.h"
|
||||||
|
@ -28,6 +29,7 @@ using TaskRunnerCpp = ::mediapipe::tasks::core::TaskRunner;
|
||||||
@interface MPPTaskRunner () {
|
@interface MPPTaskRunner () {
|
||||||
// Cpp Task Runner
|
// Cpp Task Runner
|
||||||
std::unique_ptr<TaskRunnerCpp> _cppTaskRunner;
|
std::unique_ptr<TaskRunnerCpp> _cppTaskRunner;
|
||||||
|
BOOL _initializedWithPacketsCallback;
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@ -46,6 +48,7 @@ using TaskRunnerCpp = ::mediapipe::tasks::core::TaskRunner;
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
_cppTaskRunner = std::move(taskRunnerResult.value());
|
_cppTaskRunner = std::move(taskRunnerResult.value());
|
||||||
|
_initializedWithPacketsCallback = packetsCallback ? YES : NO;
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
@ -59,7 +62,20 @@ using TaskRunnerCpp = ::mediapipe::tasks::core::TaskRunner;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)sendPacketMap:(const PacketMap &)packetMap error:(NSError **)error {
|
- (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);
|
absl::Status sendStatus = _cppTaskRunner->Send(packetMap);
|
||||||
|
|
||||||
return [MPPCommonUtils checkCppError:sendStatus toError:error];
|
return [MPPCommonUtils checkCppError:sendStatus toError:error];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user