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