template <>
class WireWeakSyncClientImpl
Defined at line 23367 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_messaging.h
Public Methods
::fidl::WireResult< ::fuchsia_media::StreamProcessor::Sync> Sync ()
On completion, all previous StreamProcessor calls have done what they're
going to do server-side, _except_ for processing of data queued using
QueueInputPacket().
The main purpose of this call is to enable the client to wait until
CloseCurrentStream() with release_input_buffers and/or
release_output_buffers set to true to take effect, before the client
allocates new buffers and re-sets-up input and/or output buffers. This
de-overlapping of resource usage can be worthwhile for media buffers
which can consume resource types whose overall pools aren't necessarily
vast in comparison to resources consumed. Especially if a client is
reconfiguring buffers multiple times.
Note that Sync() prior to allocating new media buffers is not alone
sufficient to achieve non-overlap of media buffer resource usage system
wide, but it can be a useful part of achieving that.
The Sync() transits the Output ordering domain and the StreamControl
ordering domain, but not the InputData ordering domain.
This request can be used to avoid hitting kMaxInFlightStreams which is
presently 10. A client that stays
<
= 8 in-flight streams will
comfortably stay under the limit of 10. While the protocol permits
repeated SetInputBufferSettings() and the like, a client that spams the
channel can expect that the channel will just close if the server or the
channel itself gets too far behind.
Allocates 32 bytes of message buffer on the stack. No heap allocation necessary.