Attention: This MediaPipe Solutions Preview is an early release. Learn more.

TaskRunner

Stay organized with collections Save and categorize content based on your preferences.
public class TaskRunner

The runner of MediaPipe task graphs.

Public Methods

void
close()
Closes and cleans up the TaskRunner instance.
static TaskRunner
create(Context context, TaskInfo<? extends TaskOptions> taskInfo, OutputHandler<? extends TaskResult, ?> outputHandler)
Create a TaskRunner instance.
AndroidPacketCreator
getPacketCreator()
Returns the ERROR(/AndroidPacketCreator) associated to the TaskRunner instance.
synchronized TaskResult
process(Map<String, Packet> inputs)
A synchronous method for processing batch data.
synchronized TaskResult
process(Map<String, Packet> inputs, long inputTimestamp)
A synchronous method for processing offline streaming data.
void
restart()
Resets and restarts the TaskRunner instance.
synchronized void
send(Map<String, Packet> inputs, long inputTimestamp)
An asynchronous method for handling live streaming data.
void
setErrorListener(ErrorListener listener)
Sets a callback to be invoked when exceptions are thrown by the TaskRunner instance.

Inherited Methods

Public Methods

public void close ()

Closes and cleans up the TaskRunner instance.

public static TaskRunner create (Context context, TaskInfo<? extends TaskOptions> taskInfo, OutputHandler<? extends TaskResult, ?> outputHandler)

Create a TaskRunner instance.

Parameters
context an Android ERROR(/Context).
taskInfo a TaskInfo instance contains task graph name, task options, and graph input and output stream names.
outputHandler a OutputHandler instance handles task result object and runtime exception.
Throws
for any error during TaskRunner creation.

public AndroidPacketCreator getPacketCreator ()

Returns the ERROR(/AndroidPacketCreator) associated to the TaskRunner instance.

public synchronized TaskResult process (Map<String, Packet> inputs)

A synchronous method for processing batch data.

Note: This method is designed for processing batch data such as unrelated images and texts. The call blocks the current thread until a failure status or a successful result is returned. An internal timestamp will be assigend per invocation. This method is thread-safe and allows clients to call it from different threads.

Parameters
inputs a map contains (input stream String, data ERROR(/Packet)) pairs.

public synchronized TaskResult process (Map<String, Packet> inputs, long inputTimestamp)

A synchronous method for processing offline streaming data.

Note: This method is designed for processing offline streaming data such as the decoded frames from a video file and an audio file. The call blocks the current thread until a failure status or a successful result is returned. The caller must ensure that the input timestamp is greater than the timestamps of previous invocations. This method is thread-unsafe and it is the caller's responsibility to synchronize access to this method across multiple threads and to ensure that the input packet timestamps are in order.

Parameters
inputs a map contains (input stream String, data ERROR(/Packet)) pairs.
inputTimestamp the timestamp of the input packets.

public void restart ()

Resets and restarts the TaskRunner instance. This can be useful for resetting a stateful task graph to process new data.

public synchronized void send (Map<String, Packet> inputs, long inputTimestamp)

An asynchronous method for handling live streaming data.

Note: This method that is designed for handling live streaming data such as live camera and microphone data. A user-defined packets callback function must be provided in the constructor to receive the output packets. The caller must ensure that the input packet timestamps are monotonically increasing. This method is thread-unsafe and it is the caller's responsibility to synchronize access to this method across multiple threads and to ensure that the input packet timestamps are in order.

Parameters
inputs a map contains (input stream String, data ERROR(/Packet)) pairs.
inputTimestamp the timestamp of the input packets.

public void setErrorListener (ErrorListener listener)

Sets a callback to be invoked when exceptions are thrown by the TaskRunner instance.

Parameters
listener an ErrorListener callback.