class QueueInputEndOfStream

Defined at line 1736 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

pushed through by additional input data _or_ by this EndOfStream marker.

In that sense, this message can be viewed as a flush-through at

InputData domain level, but the flush-through 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 flush-through 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), or wait for the

OnOutputEndOfStream() before closing the current stream.

If a client sends QueueInputPacket(), QueueInputFormatDetails(),

QueueInputEndOfStream() for this stream after the first

QueueInputEndOfStream() for this stream, a server should 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