class GetVmo
Defined at line 1195 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/markers.h
Requests a shared buffer to be used for moving bulk audio data between client and driver.
The client requests `min_frames` as the size for part of the ring buffer it needs.
The driver returns the actual size of allocated ring buffer space in `num_frames`.
`num_frames` must be at least `min_frames` plus `driver_transfer_bytes` (in frames) such
that ring buffer contents can be transfered in and out, or else the call must be failed
with GetVmoError.INVALID_ARGS.
The driver may increase the ring buffer size beyond `min_frames` plus
`driver_transfer_bytes` (in frames) due to any internal requirements, for instance
alignment.
Clients can treat the entire returned ring buffer as safe to access, except for the
`driver_transfer_bytes` immediately adjacent to the current position, see the
`driver_transfer_bytes` parameter specification in `RingBufferProperties` for more details.
The returned VMO handle must include ZX_RIGHT_TRANSFER, ZX_RIGHT_READ and ZX_RIGHT_MAP.
If the ring buffer is "outgoing" (conveys audio data from client to device), then the
handle must also include ZX_RIGHT_WRITE.
If `clock_recovery_notifications_per_ring` is non-zero, the driver will send replies to
`WatchClockRecoveryPositionInfo` client requests at most at
`clock_recovery_notifications_per_ring` frequency. These notifications are meant to be used
for clock recovery.
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