#[repr(C)]pub struct RingBufferConstraints {
pub min_frames: u32,
pub max_frames: u32,
pub modulo_frames: u32,
}
Expand description
Set restrictions for the device ring buffer. This must be called before
calling Add()
, or after Remove()
. Once the device is activated, the
ring buffer and its size are returned by the driver in response to an
AUDIO_RB_CMD_GET_BUFFER
command on the ring buffer channel.
Note: both min_frames and max_frames must be multiples of modulo_frames.
Fields§
§min_frames: u32
The ring buffer must have at least this many frames.
Must be a multiple of modulo_frames
.
max_frames: u32
The ring buffer can have at most this many frames.
Must be a multiple of modulo_frames
.
modulo_frames: u32
The ring buffer must have a multiple of this many frames. Cannot be zero.
Trait Implementations§
Source§impl Clone for RingBufferConstraints
impl Clone for RingBufferConstraints
Source§fn clone(&self) -> RingBufferConstraints
fn clone(&self) -> RingBufferConstraints
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for RingBufferConstraints
impl Debug for RingBufferConstraints
Source§impl<D: ResourceDialect> Decode<RingBufferConstraints, D> for RingBufferConstraints
impl<D: ResourceDialect> Decode<RingBufferConstraints, D> for RingBufferConstraints
Source§impl<D: ResourceDialect> Encode<RingBufferConstraints, D> for &RingBufferConstraints
impl<D: ResourceDialect> Encode<RingBufferConstraints, D> for &RingBufferConstraints
Source§impl<D: ResourceDialect, T0: Encode<u32, D>, T1: Encode<u32, D>, T2: Encode<u32, D>> Encode<RingBufferConstraints, D> for (T0, T1, T2)
impl<D: ResourceDialect, T0: Encode<u32, D>, T1: Encode<u32, D>, T2: Encode<u32, D>> Encode<RingBufferConstraints, D> for (T0, T1, T2)
Source§impl Hash for RingBufferConstraints
impl Hash for RingBufferConstraints
Source§impl Ord for RingBufferConstraints
impl Ord for RingBufferConstraints
Source§fn cmp(&self, other: &RingBufferConstraints) -> Ordering
fn cmp(&self, other: &RingBufferConstraints) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for RingBufferConstraints
impl PartialEq for RingBufferConstraints
Source§impl PartialOrd for RingBufferConstraints
impl PartialOrd for RingBufferConstraints
Source§impl TypeMarker for RingBufferConstraints
impl TypeMarker for RingBufferConstraints
Source§type Owned = RingBufferConstraints
type Owned = RingBufferConstraints
The owned Rust type which this FIDL type decodes into.
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Returns the minimum required alignment of the inline portion of the
encoded object. It must be a (nonzero) power of two.
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
Returns the size of the inline portion of the encoded object, including
padding for alignment. Must be a multiple of
inline_align
.Source§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read moreSource§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.Source§impl ValueTypeMarker for RingBufferConstraints
impl ValueTypeMarker for RingBufferConstraints
Source§type Borrowed<'a> = &'a RingBufferConstraints
type Borrowed<'a> = &'a RingBufferConstraints
The Rust type to use for encoding. This is a particular
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read moreimpl Copy for RingBufferConstraints
impl Eq for RingBufferConstraints
impl Persistable for RingBufferConstraints
impl StructuralPartialEq for RingBufferConstraints
Auto Trait Implementations§
impl Freeze for RingBufferConstraints
impl RefUnwindSafe for RingBufferConstraints
impl Send for RingBufferConstraints
impl Sync for RingBufferConstraints
impl Unpin for RingBufferConstraints
impl UnwindSafe for RingBufferConstraints
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
The marker type to use when the body is at the top-level.
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
The marker type to use when the body is nested in a result union.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)