class OnFreeInputPacket

Defined at line 1693 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/markers.h

The server sends this message when the stream processor is done reading

the data in this packet (but not necessarily done processing its own

copy of the data). This message is sent regardless of any changes to

stream_lifetime_ordinal, stream closure, buffer_lifetime_ordinal changes

(as/when supported), etc.

When a new input buffer_lifetime_ordinal is created, all input packets

start with the client, and there is no initial OnFreeInputPacket.

On receiving this event, the client can determine which input buffer is

becoming free for re-use based on a packet_index to buffer_index

correspondence maintained by the client. This correspondence can be

fixed or dynamic, depending on client preference.

For video decoders, an OnFreeInputPacket can be relied on to indicate

that all prior packets are done reading from their input buffers as

well. However, the client isn't required to track this, as all

OnFreeInputPacket(s) will be sent by the server (just not necessarily in

the same order as QueueInputPacket, even for video decoders).

Re-use of input buffer buffer_index values is independent from re-use of

input packet packet_index values in general, but some clients may choose

to always set packet_index to the same value as buffer_index.

OnFreeInputPacket() does _not_ imply that the data in the input packet

has been processed successfully or that processing of the input bytes

has been attempted yet, only that the input data in the associated input

buffer is no longer needed by the StreamProcessor. If a client needs to

know which input data has generated corresponding output, using

timestamp_ish values for that is recommended.

The order of OnFreeInputPacket is not guaranteed to be the same as the

order of QueueInputPacket, and OnFreeInputPacket can occur after an

OnStreamFailed.

Public Members

static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal