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
error
description 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
error
description 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_ms
duration of quiet period to wait for, in milliseconds. - request
maximum_wait_time_ms
maximum duration to wait for, in milliseconds.
- response
result
description of whether the quiet period was observed or not. - response
error
description 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_ms
maximum time to wait for non-quiet on output device, in milliseconds. - request
optional_quiet_before_stopping_ms
stop recording after this duration of quiet is observed, in milliseconds. - request
maximum_capture_duration_ms
maximum duration of the recording, in milliseconds.
- response
error
description 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
result
the result of the completed triggered capture, including whether or not it was triggered. - response
error
description 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_reader
socket where full captured audio data will be streamed.
- response
error
description of failure action to take.
Trait Implementations§
Source§impl Debug for CaptureSynchronousProxy
impl Debug for CaptureSynchronousProxy
Source§impl From<CaptureSynchronousProxy> for Handle
impl From<CaptureSynchronousProxy> for Handle
Source§fn from(value: CaptureSynchronousProxy) -> Self
fn from(value: CaptureSynchronousProxy) -> Self
Source§impl From<Channel> for CaptureSynchronousProxy
impl From<Channel> for CaptureSynchronousProxy
Source§impl FromClient for CaptureSynchronousProxy
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
impl SynchronousProxy for CaptureSynchronousProxy
Source§type Proxy = CaptureProxy
type Proxy = CaptureProxy
Source§type Protocol = CaptureMarker
type Protocol = CaptureMarker
Proxy
controls.