template <>
class Server
Defined at line 7668 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/natural_messaging.h
Public Methods
void AddPayloadBuffer (AddPayloadBufferRequest & request, AddPayloadBufferCompleter::Sync & completer)
Adds a payload buffer to the current buffer set associated with the
connection. A `StreamPacket` struct reference a payload buffer in the
current set by ID using the `StreamPacket.payload_buffer_id` field.
A buffer with ID `id` must not be in the current set when this method is
invoked, otherwise the service will close the connection.
void RemovePayloadBuffer (RemovePayloadBufferRequest & request, RemovePayloadBufferCompleter::Sync & completer)
Removes a payload buffer from the current buffer set associated with the
connection.
A buffer with ID `id` must exist in the current set when this method is
invoked, otherwise the service will will close the connection.
void ReleasePacket (ReleasePacketRequest & request, ReleasePacketCompleter::Sync & completer)
Releases payload memory associated with a packet previously delivered
via `OnPacketProduced`.
void DiscardAllPackets (DiscardAllPacketsCompleter::Sync & completer)
void DiscardAllPacketsNoReply (DiscardAllPacketsNoReplyCompleter::Sync & completer)
void Server ()
Defined at line 7671 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/natural_messaging.h
void SetPcmStreamType (SetPcmStreamTypeRequest & request, SetPcmStreamTypeCompleter::Sync & completer)
Sets the stream type of the stream to be delivered. Causes the source
material to be reformatted/resampled if needed in order to produce the
requested stream type. Must be called before the payload buffer is
established.
void CaptureAt (CaptureAtRequest & request, CaptureAtCompleter::Sync & completer)
Explicitly specifies a region of the shared payload buffer for the audio
input to capture into.
void StartAsyncCapture (StartAsyncCaptureRequest & request, StartAsyncCaptureCompleter::Sync & completer)
Places the AudioCapturer into 'async' capture mode and begin to produce
packets of exactly 'frames_per_packet' number of frames each. The
OnPacketProduced event (of StreamSink) will be used to inform the client
of produced packets.
void StopAsyncCapture (StopAsyncCaptureCompleter::Sync & completer)
Stops capturing in 'async' capture mode and (optionally) deliver a callback
that may be used by the client if explicit synchronization is needed.
void StopAsyncCaptureNoReply (StopAsyncCaptureNoReplyCompleter::Sync & completer)
void BindGainControl (BindGainControlRequest & request, BindGainControlCompleter::Sync & completer)
Binds to the gain control for this AudioCapturer.
void GetReferenceClock (GetReferenceClockCompleter::Sync & completer)
Retrieves the stream's reference clock. The returned handle will have READ, DUPLICATE
and TRANSFER rights, and will refer to a zx::clock that is MONOTONIC and CONTINUOUS.
void SetReferenceClock (SetReferenceClockRequest & request, SetReferenceClockCompleter::Sync & completer)
Sets the reference clock that controls this capturer's playback rate. If the input
parameter is a valid zx::clock, it must have READ, DUPLICATE, TRANSFER rights and
refer to a clock that is both MONOTONIC and CONTINUOUS. If instead an invalid clock
is passed (such as the uninitialized `zx::clock()`), this indicates that the stream
will use a 'flexible' clock generated by AudioCore that tracks the audio device.
`SetReferenceClock` cannot be called after the capturer payload buffer has been
added. It also cannot be called a second time (even before capture).
If the client wants a reference clock that is initially `CLOCK_MONOTONIC` but may
diverge at some later time, they should create a clone of the monotonic clock, set
this as the stream's reference clock, then rate-adjust it subsequently as needed.
void SetUsage (SetUsageRequest & request, SetUsageCompleter::Sync & completer)
Sets the usage of the capture stream. This may be changed on the fly, but packets in flight
may be affected. By default, Capturers are created with the FOREGROUND usage.
void SetUsage2 (SetUsage2Request & request, SetUsage2Completer::Sync & completer)
Sets the usage of the capture stream. This may be changed on the fly, but this may affect
packets in flight. By default, Capturers are created with the FOREGROUND usage.
void GetStreamType (GetStreamTypeCompleter::Sync & completer)
Gets the currently configured stream type. Note: for an AudioCapturer
which was just created and has not yet had its stream type explicitly
set, this will retrieve the stream type -- at the time the AudioCapturer
was created -- of the source (input or looped-back output) to which the
AudioCapturer is bound. Even if this matches the client's desired format,
`SetPcmStreamType` must still be called.
Handler bind_handler (async_dispatcher_t * dispatcher)
|bind_handler| returns a handler that binds incoming connections to this
server implementation.
The returned handler borrows the server instance.
The server must outlive the provided |dispatcher|. Only after
the dispatcher is shutdown will it be safe to destroy the servers.
The server should not be moved.
void ~Server ()
Defined at line 7672 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/natural_messaging.h