pub enum CaptureRequest {
StartOutputCapture {
responder: CaptureStartOutputCaptureResponder,
},
StopOutputCapture {
responder: CaptureStopOutputCaptureResponder,
},
WaitForQuiet {
payload: CaptureWaitForQuietRequest,
responder: CaptureWaitForQuietResponder,
},
QueueTriggeredCapture {
payload: CaptureQueueTriggeredCaptureRequest,
responder: CaptureQueueTriggeredCaptureResponder,
},
WaitForTriggeredCapture {
responder: CaptureWaitForTriggeredCaptureResponder,
},
GetOutputAudio {
responder: CaptureGetOutputAudioResponder,
},
#[non_exhaustive] _UnknownMethod {
ordinal: u64,
control_handle: CaptureControlHandle,
method_type: MethodType,
},
}
Variants§
StartOutputCapture
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.
Fields
responder: CaptureStartOutputCaptureResponder
StopOutputCapture
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.
Fields
responder: CaptureStopOutputCaptureResponder
WaitForQuiet
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.
QueueTriggeredCapture
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.
Fields
payload: CaptureQueueTriggeredCaptureRequest
responder: CaptureQueueTriggeredCaptureResponder
WaitForTriggeredCapture
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.
Fields
responder: CaptureWaitForTriggeredCaptureResponder
GetOutputAudio
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.
Fields
responder: CaptureGetOutputAudioResponder
#[non_exhaustive]_UnknownMethod
An interaction was received which does not match any known method.
Fields
This variant is marked as non-exhaustive
control_handle: CaptureControlHandle
method_type: MethodType
Implementations§
Source§impl CaptureRequest
impl CaptureRequest
pub fn into_start_output_capture( self, ) -> Option<CaptureStartOutputCaptureResponder>
pub fn into_stop_output_capture( self, ) -> Option<CaptureStopOutputCaptureResponder>
pub fn into_wait_for_quiet( self, ) -> Option<(CaptureWaitForQuietRequest, CaptureWaitForQuietResponder)>
pub fn into_queue_triggered_capture( self, ) -> Option<(CaptureQueueTriggeredCaptureRequest, CaptureQueueTriggeredCaptureResponder)>
pub fn into_wait_for_triggered_capture( self, ) -> Option<CaptureWaitForTriggeredCaptureResponder>
pub fn into_get_output_audio(self) -> Option<CaptureGetOutputAudioResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL