class QueueInputEndOfStream

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

Inform the server that all QueueInputPacket() messages for this stream

have been sent.

If the stream isn't closed first (by the client, or by OnStreamFailed(),

or StreamProcessor channel closing), there will later be a corresponding

OnOutputEndOfStream().

The corresponding OnOutputEndOfStream() message will be generated only

if the server finishes processing the stream before the server sees the

client close the stream (such as by starting a new stream). A way to

force the server to finish the stream before closing is to use

FlushEndOfStreamAndCloseStream() after QueueInputEndOfStream() before

any new stream. Another way to force the server to finish the stream

before closing is to wait for the OnOutputEndOfStream() before taking

any action that closes the stream.

In addition to serving as an "EndOfStream" marker to make it obvious

client-side when all input data has been processed, if a client never

sends QueueInputEndOfStream, no amount of waiting will necessarily

result in all input data getting processed through to the output. Some

stream processors have some internally-delayed data which only gets

drained (pushed through) by additional input data _or_ by this

EndOfStream marker. In that sense, this message can be viewed as a drain

at InputData domain level, but the drain only takes effect if the stream

processor even gets that far before the stream is just closed at

StreamControl domain level. This message is not alone sufficient to act

as an overall drain at StreamControl level. For that, send this message

first and then send FlushEndOfStreamAndCloseStream (at which point it

becomes possible to queue input data for a new stream without causing

discard of this older stream's data). Alternately, the client can wait

for the OnOutputEndOfStream before closing the current stream.

After a client sends QueueInputEndOfStream for a stream, if the client

then sends for the same stream any of QueueInputPacket,

QueueInputFormatDetails, QueueInputEndOfStream, the server will close

the StreamProcessor channel.

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