pub struct CaptureSynchronousProxy { /* private fields */ }Implementations§
Source§impl CaptureSynchronousProxy
impl CaptureSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<CaptureEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<CaptureEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn start_output_capture(
&self,
___deadline: MonotonicInstant,
) -> Result<CaptureStartOutputCaptureResult, Error>
pub fn start_output_capture( &self, ___deadline: MonotonicInstant, ) -> Result<CaptureStartOutputCaptureResult, Error>
Start capturing the outgoing audio for this device.
A virtual output device receives what would have played through the device’s speakers. This method reads from that virtual output device, into an internal buffer.
After calling this method, use StopOutputCapture to stop recording output and
then GetOutputAudio to retrieve this captured audio.
- response
errordescription of failure action to take.
Sourcepub fn stop_output_capture(
&self,
___deadline: MonotonicInstant,
) -> Result<CaptureStopOutputCaptureResult, Error>
pub fn stop_output_capture( &self, ___deadline: MonotonicInstant, ) -> Result<CaptureStopOutputCaptureResult, Error>
Stop capturing the outgoing audio for this device.
This method will succeed even if no output capture has been started.
After calling this method, use GetOutputAudio to retrieve the captured
audio from the virtual device’s internal buffer and return it to the client.
- response
errordescription of failure action to take.
Sourcepub fn wait_for_quiet(
&self,
payload: &CaptureWaitForQuietRequest,
___deadline: MonotonicInstant,
) -> Result<CaptureWaitForQuietResult, Error>
pub fn wait_for_quiet( &self, payload: &CaptureWaitForQuietRequest, ___deadline: MonotonicInstant, ) -> Result<CaptureWaitForQuietResult, Error>
Wait for the specified period to elapse without any audio on the output device.
This method waits until zero-filled packets corresponding to the specified quiet period are observed on the virtual output device, and then it returns. This method will only wait up to the specified maximum wait time.
- request
requested_quiet_period_msduration of quiet period to wait for, in milliseconds. - request
maximum_wait_time_msmaximum duration to wait for, in milliseconds.
- response
resultdescription of whether the quiet period was observed or not. - response
errordescription of failure action to take.
Sourcepub fn queue_triggered_capture(
&self,
payload: &CaptureQueueTriggeredCaptureRequest,
___deadline: MonotonicInstant,
) -> Result<CaptureQueueTriggeredCaptureResult, Error>
pub fn queue_triggered_capture( &self, payload: &CaptureQueueTriggeredCaptureRequest, ___deadline: MonotonicInstant, ) -> Result<CaptureQueueTriggeredCaptureResult, Error>
Queue an asynchronous audio capture.
This method sets up a triggered audio capture that will begin capturing when it first observes audio on the virtual output device, and will continue either until a maximum capture duration is reached or until the virtual output device observes a configurable quiet period.
This method returns immediately once the capture is queued. A subsequent call to
WaitForTriggeredCapture is required to wait for the completion of the operation.
This method is incompatible with StartOutputCapture and StopOutputCapture, and mixing
calls in a single test is likely to result in an AudioTestError being raised.
- request
maximum_time_to_wait_for_sound_msmaximum time to wait for non-quiet on output device, in milliseconds. - request
optional_quiet_before_stopping_msstop recording after this duration of quiet is observed, in milliseconds. - request
maximum_capture_duration_msmaximum duration of the recording, in milliseconds.
- response
errordescription of failure action to take.
Sourcepub fn wait_for_triggered_capture(
&self,
___deadline: MonotonicInstant,
) -> Result<CaptureWaitForTriggeredCaptureResult, Error>
pub fn wait_for_triggered_capture( &self, ___deadline: MonotonicInstant, ) -> Result<CaptureWaitForTriggeredCaptureResult, Error>
Wait for a previously queued audio capture to trigger and record.
This method waits for a previous call to QueueTriggeredCapture to either capture audio
or time out. Calling this method without a corresponding call to QueueTriggeredCapture
will result in an AudioTestError being returned.
This method is incompatible with StartOutputCapture and StopOutputCapture, and mixing
calls in a single test is likely to result in an AudioTestError being raised.
- response
resultthe result of the completed triggered capture, including whether or not it was triggered. - response
errordescription of failure action to take.
Sourcepub fn get_output_audio(
&self,
___deadline: MonotonicInstant,
) -> Result<CaptureGetOutputAudioResult, Error>
pub fn get_output_audio( &self, ___deadline: MonotonicInstant, ) -> Result<CaptureGetOutputAudioResult, Error>
Extract the captured outgoing audio data through a socket.
The socket is closed once it is fully drained.
User should have first called StartOutputCapture and StopOutputCapture. This method will
return the contents of the internal buffer that was populated between the calls to those
two methods.
Audio output format is 2-channel 48kHz 16-bit PCM.
- request
audio_readersocket where full captured audio data will be streamed.
- response
errordescription of failure action to take.
Trait Implementations§
Source§impl Debug for CaptureSynchronousProxy
impl Debug for CaptureSynchronousProxy
Source§impl From<CaptureSynchronousProxy> for Handle
Available on Fuchsia only.
impl From<CaptureSynchronousProxy> for Handle
Source§fn from(value: CaptureSynchronousProxy) -> Self
fn from(value: CaptureSynchronousProxy) -> Self
Source§impl From<Channel> for CaptureSynchronousProxy
Available on Fuchsia only.
impl From<Channel> for CaptureSynchronousProxy
Source§impl FromClient for CaptureSynchronousProxy
Available on Fuchsia only.
impl FromClient for CaptureSynchronousProxy
Source§type Protocol = CaptureMarker
type Protocol = CaptureMarker
Source§fn from_client(value: ClientEnd<CaptureMarker>) -> Self
fn from_client(value: ClientEnd<CaptureMarker>) -> Self
Source§impl SynchronousProxy for CaptureSynchronousProxy
Available on Fuchsia only.
impl SynchronousProxy for CaptureSynchronousProxy
Source§type Proxy = CaptureProxy
type Proxy = CaptureProxy
Source§type Protocol = CaptureMarker
type Protocol = CaptureMarker
Proxy controls.