Packets

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

Create a Mobile Website
View Site in Mobile | Classic
Share by: