mediapipe/docs/framework_concepts/packets.md
Kris Tonthat 2cbaf84f50 Internal change
PiperOrigin-RevId: 512758617
2023-02-27 16:12:26 -08:00

1.1 KiB

layout target title parent nav_order
forward https://developers.google.com/mediapipe/framework/framework_concepts/packets Packets Framework Concepts 3

Packets

{: .no_toc }

  1. TOC {:toc}

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.
Packet p = MakePacket<MyDataClass>("constructor_argument");
// Make a new packet with the same data and a different timestamp.
Packet p2 = p.At(Timestamp::PostStream());

or:

// 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());

Data within a packet is accessed with Packet::Get<T>()