CaptureSynchronousProxy

Struct CaptureSynchronousProxy 

Source
pub struct CaptureSynchronousProxy { /* private fields */ }

Implementations§

Source§

impl CaptureSynchronousProxy

Source

pub fn new(channel: Channel) -> Self

Source

pub fn into_channel(self) -> Channel

Source

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.

Source

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.
Source

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.
Source

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.
Source

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.
Source

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.
Source

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

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<CaptureSynchronousProxy> for Handle

Source§

fn from(value: CaptureSynchronousProxy) -> Self

Converts to this type from the input type.
Source§

impl From<Channel> for CaptureSynchronousProxy

Source§

fn from(value: Channel) -> Self

Converts to this type from the input type.
Source§

impl FromClient for CaptureSynchronousProxy

Source§

type Protocol = CaptureMarker

The protocol.
Source§

fn from_client(value: ClientEnd<CaptureMarker>) -> Self

Converts from a client.
Source§

impl SynchronousProxy for CaptureSynchronousProxy

Source§

type Proxy = CaptureProxy

The async proxy for the same protocol.
Source§

type Protocol = CaptureMarker

The protocol which this Proxy controls.
Source§

fn from_channel(inner: Channel) -> Self

Create a proxy over the given channel.
Source§

fn into_channel(self) -> Channel

Convert the proxy back into a channel.
Source§

fn as_channel(&self) -> &Channel

Get a reference to the proxy’s underlying channel. Read more
Source§

fn is_closed(&self) -> Result<bool, Status>

Returns true if the proxy has received the PEER_CLOSED signal. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.