Pacchetti

I calcolatori comunicano inviando e ricevendo pacchetti. Solitamente, viene inviato un singolo pacchetto lungo ogni flusso di input a ogni timestamp di input. Un pacchetto può contenere qualsiasi tipo di dati, ad esempio un singolo frame di video o un singolo conteggio del rilevamento di un numero intero.

Creazione di un pacchetto

In genere i pacchetti vengono creati con mediapipe::MakePacket<T>() o mediapipe::Adopt() (da 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());

oppure:

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

I dati all'interno di un pacchetto sono accessibili con Packet::Get<T>()