Mediapipe:如何正确地释放MPPGraph

时间:2020-05-08 14:44:31

标签: mediapipe

我不清楚如何正确停止和重新分配MPPGraph。我创建了一个非常类似于this的框架。每次以某种方式调用dealloc都会引发此异常。 Thread 1: Exception: "waitUntilDoneWithError: should not be called on the main thread"

我不知道如何不在主线程中调用它,希望有人对此有所了解。

Here,您可以找到调用mediapipe框架的快速代码。本示例是使用here的框架创建的。

1 个答案:

答案 0 :(得分:1)

对于遇到相同问题的任何人。 here已解决此问题,并提出了解决方案。

编辑: 最后一点可能是错误的,但是我以这种方式使用了dealloc:

- (void)dealloc {
  self.mediapipeGraph.delegate = nil;
  [self.mediapipeGraph cancel];
  // Ignore errors since we're cleaning up.
  [self.mediapipeGraph closeAllInputStreamsWithError:nil];
  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    [self.mediapipeGraph waitUntilDoneWithError:nil];
  });
}