class SetInputBufferPartialSettings
Defined at line 1100 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/markers.h
When the client is not using dynamic buffers, a single
SetInputBufferPartialSettings() provides the StreamProcessor with the
client-specified input settings and a BufferCollectionToken which the
StreamProcessor will use to convey constraints to sysmem. Both the
client and the StreamProcessor will be informed of the allocated buffers
directly by sysmem via their BufferCollection channel (not via the
StreamProcessor channel).
The client must not QueueInput...() until after sysmem informs the
client that buffer allocation has completed and was successful.
The server should be prepared to see QueueInput...() before the server
has necessarily heard from sysmem that the buffers are allocated - the
server must tolerate either ordering, as the QueueInput...() and
notification of sysmem allocation completion arrive on different
channels, so the client having heard that allocation is complete doesn't
mean the server knows that allocation is complete yet. However, the
server can expect that allocation is in fact complete and can expect to
get the allocation information from sysmem immediately upon requesting
the information from sysmem.
Mixing of AddBuffer and SetInputBufferPartialSettings is not allowed
while there are any buffers still active on the port. To successfully
switch modes for a port, most clients will want to just start over with
a new StreamProcessor instance. This can also be done reliably by first
ensuring that every added buffer under the port up to "now" (including
those with older buffer_lifetime_ordinal) has completed a RemoveBuffer
request. Only then is it known ok to switch modes for that port under
the same StreamProcessor. Most clients will just use one way or the
other to add buffers and never need to switch to the other way,
especially within the same StreamProcessor.
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