Skip to main content

StreamMode

Enum StreamMode 

Source
pub enum StreamMode {
    PollingShared {
        autoconvert: bool,
        buffer_duration_hns: i64,
    },
    PollingExclusive {
        buffer_duration_hns: i64,
        period_hns: i64,
    },
    EventsShared {
        autoconvert: bool,
        buffer_duration_hns: i64,
    },
    EventsExclusive {
        period_hns: i64,
    },
}
Expand description

Helper enum for initializing an AudioClient. There are four main modes that can be specified, corresponding to the four possible combinations of sharing mode and timing. The enum variants only expose the parameters that can be set in each mode.

See the documentation of AudioClient::initialize_client() for a description of the sharing and timing modes, and how to choose between them.

Variants§

§

PollingShared

Shared mode using polling for timing. The parameters that can be set are the device buffer duration (in units on 100 ns) and whether automatic format conversion should be enabled. The audio engine decides the period, and this cannot be changed.

Fields

§autoconvert: bool
§buffer_duration_hns: i64
§

PollingExclusive

Exclusive mode using polling for timing. Both device period and buffer duration are given, in units of 100 ns.

Fields

§buffer_duration_hns: i64
§period_hns: i64
§

EventsShared

Shared mode using event driven timing. The parameters that can be set are the device buffer duration (in units on 100 ns) and whether automatic format conversion should be enabled. The audio engine decides the period, and this cannot be changed.

Fields

§autoconvert: bool
§buffer_duration_hns: i64
§

EventsExclusive

Exclusive mode using event driven timing. The period and buffer duration must be set to the same value. Only device period is given here, in units of 100 ns.

Fields

§period_hns: i64

Trait Implementations§

Source§

impl Clone for StreamMode

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for StreamMode

Source§

impl Debug for StreamMode

Source§

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

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

impl Eq for StreamMode

Source§

impl PartialEq for StreamMode

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for StreamMode

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.