Struct InjectionSynchronousProxy

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

Implementations§

Source§

impl InjectionSynchronousProxy

Source

pub fn new(channel: Channel) -> Self

Source

pub fn into_channel(self) -> Channel

Source

pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<InjectionEvent, 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 write_input_audio( &self, index: i32, audio_writer: Socket, ) -> Result<(), Error>

Set the audio to be injected at index.

The first time this is called, an empty vector will be created, subsequent calls will append to audio_data to the same vector.

Use ClearInputAudio to clear audio input data stored at index.

Further requests on the same Injection connection are blocked until the audio_writer socket is drained completely. To determine when injection is complete, users may initiate a call to GetInputAudioSize immediately following the call to this method.

  • request index refers a specific audio_data input record. We can have multiple records.
  • request audio_writer socket where audio data will be loaded from.
Source

pub fn get_input_audio_size( &self, index: i32, ___deadline: MonotonicInstant, ) -> Result<InjectionGetInputAudioSizeResult, Error>

Get the size of audio data stored at index.

This method returns the number of bytes of input data stored at the given index.

If a WriteInputAudio call is pending for the given index, this method will block until the socket is drained and the data is fully stored.

  • request index refers to a specific audio_data input record.
  • response error description of failure action to take.
Source

pub fn clear_input_audio( &self, index: i32, ___deadline: MonotonicInstant, ) -> Result<InjectionClearInputAudioResult, Error>

Clears audio data stored at index.

If no data exists at index nothing will get cleared, but no error will be returned.

  • request index refers a specific audio_data input record to clear.
  • response error description of failure action to take.
Source

pub fn wait_until_input_is_done( &self, ___deadline: MonotonicInstant, ) -> Result<InjectionWaitUntilInputIsDoneResult, Error>

Wait until injected inputs are done playing.

This function returns only when all injected audio tracks are complete.

This is intended to be called after calling StartInputInjection. If no tracks have been started, or all started tracks have already completed, then this function will immediately return without error.

  • response error description of failure action to take.
Source

pub fn start_input_injection( &self, index: i32, ___deadline: MonotonicInstant, ) -> Result<InjectionStartInputInjectionResult, Error>

Start injecting the incoming audio for this device, using the audio at index.

Before calling this, use WriteInputAudio to store audio data at the given index.

  • request index refers a specific audio_data input record to play on the virtual microphone.
  • response error description of failure action to take.
Source

pub fn stop_input_injection( &self, ___deadline: MonotonicInstant, ) -> Result<InjectionStopInputInjectionResult, Error>

Stop injecting audio data.

This stops playing all injected tracks.

This is intended to be called after calling StartInputInjection. If no tracks have been started, or if all started tracks have already completed, then this function will immediately return without error.

  • response error description of failure action to take.

Trait Implementations§

Source§

impl Debug for InjectionSynchronousProxy

Source§

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

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

impl From<Channel> for InjectionSynchronousProxy

Source§

fn from(value: Channel) -> Self

Converts to this type from the input type.
Source§

impl From<InjectionSynchronousProxy> for Handle

Source§

fn from(value: InjectionSynchronousProxy) -> Self

Converts to this type from the input type.
Source§

impl SynchronousProxy for InjectionSynchronousProxy

Source§

type Proxy = InjectionProxy

The async proxy for the same protocol.
Source§

type Protocol = InjectionMarker

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.