pub struct CaptureProxy { /* private fields */ }
Implementations§
Source§impl CaptureProxy
impl CaptureProxy
Sourcepub fn take_event_stream(&self) -> CaptureEventStream
pub fn take_event_stream(&self) -> CaptureEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn start_output_capture(
&self,
) -> QueryResponseFut<CaptureStartOutputCaptureResult, DefaultFuchsiaResourceDialect>
pub fn start_output_capture( &self, ) -> QueryResponseFut<CaptureStartOutputCaptureResult, DefaultFuchsiaResourceDialect>
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,
) -> QueryResponseFut<CaptureStopOutputCaptureResult, DefaultFuchsiaResourceDialect>
pub fn stop_output_capture( &self, ) -> QueryResponseFut<CaptureStopOutputCaptureResult, DefaultFuchsiaResourceDialect>
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,
) -> QueryResponseFut<CaptureWaitForQuietResult, DefaultFuchsiaResourceDialect>
pub fn wait_for_quiet( &self, payload: &CaptureWaitForQuietRequest, ) -> QueryResponseFut<CaptureWaitForQuietResult, DefaultFuchsiaResourceDialect>
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,
) -> QueryResponseFut<CaptureQueueTriggeredCaptureResult, DefaultFuchsiaResourceDialect>
pub fn queue_triggered_capture( &self, payload: &CaptureQueueTriggeredCaptureRequest, ) -> QueryResponseFut<CaptureQueueTriggeredCaptureResult, DefaultFuchsiaResourceDialect>
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,
) -> QueryResponseFut<CaptureWaitForTriggeredCaptureResult, DefaultFuchsiaResourceDialect>
pub fn wait_for_triggered_capture( &self, ) -> QueryResponseFut<CaptureWaitForTriggeredCaptureResult, DefaultFuchsiaResourceDialect>
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,
) -> QueryResponseFut<CaptureGetOutputAudioResult, DefaultFuchsiaResourceDialect>
pub fn get_output_audio( &self, ) -> QueryResponseFut<CaptureGetOutputAudioResult, DefaultFuchsiaResourceDialect>
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 CaptureProxyInterface for CaptureProxy
impl CaptureProxyInterface for CaptureProxy
type StartOutputCaptureResponseFut = QueryResponseFut<Result<(), AudioTestError>>
type StopOutputCaptureResponseFut = QueryResponseFut<Result<(), AudioTestError>>
type WaitForQuietResponseFut = QueryResponseFut<Result<WaitForQuietResult, AudioTestError>>
type QueueTriggeredCaptureResponseFut = QueryResponseFut<Result<(), AudioTestError>>
type WaitForTriggeredCaptureResponseFut = QueryResponseFut<Result<QueuedCaptureResult, AudioTestError>>
type GetOutputAudioResponseFut = QueryResponseFut<Result<Socket, AudioTestError>>
fn start_output_capture(&self) -> Self::StartOutputCaptureResponseFut
fn stop_output_capture(&self) -> Self::StopOutputCaptureResponseFut
fn wait_for_quiet( &self, payload: &CaptureWaitForQuietRequest, ) -> Self::WaitForQuietResponseFut
fn queue_triggered_capture( &self, payload: &CaptureQueueTriggeredCaptureRequest, ) -> Self::QueueTriggeredCaptureResponseFut
fn wait_for_triggered_capture(&self) -> Self::WaitForTriggeredCaptureResponseFut
fn get_output_audio(&self) -> Self::GetOutputAudioResponseFut
Source§impl Clone for CaptureProxy
impl Clone for CaptureProxy
Source§fn clone(&self) -> CaptureProxy
fn clone(&self) -> CaptureProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CaptureProxy
impl Debug for CaptureProxy
Source§impl Proxy for CaptureProxy
impl Proxy for CaptureProxy
Source§type Protocol = CaptureMarker
type Protocol = CaptureMarker
Proxy
controls.