Калькуляторы общаются, отправляя и получая пакеты. Обычно один пакет отправляется по каждому входному потоку в каждую входную временную метку. Пакет может содержать данные любого типа, например один кадр видео или одно целое число обнаружений.
Создание пакета
Пакеты обычно создаются с помощью mediapipe::MakePacket<T>()
или mediapipe::Adopt()
(из package.h).
// Create a packet containing some new data.
Packet p = MakePacket<MyDataClass>("constructor_argument");
// Make a new packet with the same data and a different timestamp.
Packet p2 = p.At(Timestamp::PostStream());
или:
// Create some new data.
auto data = absl::make_unique<MyDataClass>("constructor_argument");
// Create a packet to own the data.
Packet p = Adopt(data.release()).At(Timestamp::PostStream());
Доступ к данным внутри пакета осуществляется с помощью Packet::Get<T>()