template <>
class NaturalSyncClientImpl
Defined at line 7453 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/natural_messaging.h
Public Methods
::fidl::Result< ::fuchsia_media::AudioCapturer::DiscardAllPackets> DiscardAllPackets ()
::fidl::Result< ::fuchsia_media::AudioCapturer::CaptureAt> CaptureAt (const ::fidl::Request< ::fuchsia_media::AudioCapturer::CaptureAt> & request)
Explicitly specifies a region of the shared payload buffer for the audio
input to capture into.
::fidl::Result< ::fuchsia_media::AudioCapturer::StopAsyncCapture> StopAsyncCapture ()
Stops capturing in 'async' capture mode and (optionally) deliver a callback
that may be used by the client if explicit synchronization is needed.
::fidl::Result< ::fuchsia_media::AudioCapturer::GetReferenceClock> GetReferenceClock ()
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.
::fidl::Result< ::fuchsia_media::AudioCapturer::GetStreamType> GetStreamType ()
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.
::fit::result< ::fidl::OneWayError> AddPayloadBuffer (::fidl::Request< ::fuchsia_media::AudioCapturer::AddPayloadBuffer> request)
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.
::fit::result< ::fidl::OneWayError> RemovePayloadBuffer (const ::fidl::Request< ::fuchsia_media::AudioCapturer::RemovePayloadBuffer> & request)
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.
::fit::result< ::fidl::OneWayError> ReleasePacket (const ::fidl::Request< ::fuchsia_media::AudioCapturer::ReleasePacket> & request)
Releases payload memory associated with a packet previously delivered
via `OnPacketProduced`.
::fit::result< ::fidl::OneWayError> DiscardAllPacketsNoReply ()
::fit::result< ::fidl::OneWayError> SetPcmStreamType (const ::fidl::Request< ::fuchsia_media::AudioCapturer::SetPcmStreamType> & request)
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.
::fit::result< ::fidl::OneWayError> StartAsyncCapture (const ::fidl::Request< ::fuchsia_media::AudioCapturer::StartAsyncCapture> & request)
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.
::fit::result< ::fidl::OneWayError> StopAsyncCaptureNoReply ()
::fit::result< ::fidl::OneWayError> BindGainControl (::fidl::Request< ::fuchsia_media::AudioCapturer::BindGainControl> request)
Binds to the gain control for this AudioCapturer.
::fit::result< ::fidl::OneWayError> SetReferenceClock (::fidl::Request< ::fuchsia_media::AudioCapturer::SetReferenceClock> request)
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.
::fit::result< ::fidl::OneWayError> SetUsage (const ::fidl::Request< ::fuchsia_media::AudioCapturer::SetUsage> & request)
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.
::fit::result< ::fidl::OneWayError> SetUsage2 (const ::fidl::Request< ::fuchsia_media::AudioCapturer::SetUsage2> & request)
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.