Calculators communicate by sending and receiving packets. Typically a single
packet is sent along each input stream at each input timestamp. A packet can
contain any kind of data, such as a single frame of video or a single integer
detection count.
Creating a packet
Packets are generally created with mediapipe::MakePacket<T>() or
mediapipe::Adopt() (from packet.h).
// Create a packet containing some new data.Packetp=MakePacket<MyDataClass>("constructor_argument");// Make a new packet with the same data and a different timestamp.Packetp2=p.At(Timestamp::PostStream());
or:
// Create some new data.autodata=absl::make_unique<MyDataClass>("constructor_argument");// Create a packet to own the data.Packetp=Adopt(data.release()).At(Timestamp::PostStream());
Data within a packet is accessed with Packet::Get<T>()
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-24 UTC."],[],[],null,["# Packets\n\nCalculators communicate by sending and receiving packets. Typically a single\npacket is sent along each input stream at each input timestamp. A packet can\ncontain any kind of data, such as a single frame of video or a single integer\ndetection count.\n\nCreating a packet\n-----------------\n\nPackets are generally created with `mediapipe::MakePacket\u003cT\u003e()` or\n`mediapipe::Adopt()` (from packet.h). \n\n // Create a packet containing some new data.\n Packet p = MakePacket\u003cMyDataClass\u003e(\"constructor_argument\");\n // Make a new packet with the same data and a different timestamp.\n Packet p2 = p.At(Timestamp::PostStream());\n\nor: \n\n // Create some new data.\n auto data = absl::make_unique\u003cMyDataClass\u003e(\"constructor_argument\");\n // Create a packet to own the data.\n Packet p = Adopt(data.release()).At(Timestamp::PostStream());\n\nData within a packet is accessed with `Packet::Get\u003cT\u003e()`"]]