#[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 AsBytes for RingBufferConstraintswhere
u32: AsBytes,
HasPadding<RingBufferConstraints, { _ }>: ShouldBe<{ _ }>,
impl AsBytes for RingBufferConstraintswhere u32: AsBytes, HasPadding<RingBufferConstraints, { _ }>: ShouldBe<{ _ }>,
§fn as_bytes_mut(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_bytes_mut(&mut self) -> &mut [u8] ⓘwhere Self: FromBytes,
Gets the bytes of this value mutably. Read more
§fn write_to_prefix<B>(&self, bytes: B) -> Option<()>where
B: ByteSliceMut,
fn write_to_prefix<B>(&self, bytes: B) -> Option<()>where B: ByteSliceMut,
§fn write_to_suffix<B>(&self, bytes: B) -> Option<()>where
B: ByteSliceMut,
fn write_to_suffix<B>(&self, bytes: B) -> Option<()>where B: ByteSliceMut,
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 Decode<RingBufferConstraints> for RingBufferConstraints
impl Decode<RingBufferConstraints> for RingBufferConstraints
source§impl Encode<RingBufferConstraints> for &RingBufferConstraints
impl Encode<RingBufferConstraints> for &RingBufferConstraints
source§impl<T0: Encode<u32>, T1: Encode<u32>, T2: Encode<u32>> Encode<RingBufferConstraints> for (T0, T1, T2)
impl<T0: Encode<u32>, T1: Encode<u32>, T2: Encode<u32>> Encode<RingBufferConstraints> for (T0, T1, T2)
source§impl FromBytes for RingBufferConstraintswhere
u32: FromBytes,
impl FromBytes for RingBufferConstraintswhere u32: FromBytes,
§fn read_from_prefix<B>(bytes: B) -> Option<Self>where
B: ByteSlice,
Self: Sized,
fn read_from_prefix<B>(bytes: B) -> Option<Self>where B: ByteSlice, Self: Sized,
§fn read_from_suffix<B>(bytes: B) -> Option<Self>where
B: ByteSlice,
Self: Sized,
fn read_from_suffix<B>(bytes: B) -> Option<Self>where B: ByteSlice, Self: Sized,
§fn new_zeroed() -> Selfwhere
Self: Sized,
fn new_zeroed() -> Selfwhere Self: Sized,
Creates an instance of
Self
from zeroed bytes.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<RingBufferConstraints> for RingBufferConstraints
impl PartialEq<RingBufferConstraints> for RingBufferConstraints
source§fn eq(&self, other: &RingBufferConstraints) -> bool
fn eq(&self, other: &RingBufferConstraints) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<RingBufferConstraints> for RingBufferConstraints
impl PartialOrd<RingBufferConstraints> for RingBufferConstraints
source§fn partial_cmp(&self, other: &RingBufferConstraints) -> Option<Ordering>
fn partial_cmp(&self, other: &RingBufferConstraints) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl TypeMarker for RingBufferConstraints
impl TypeMarker for RingBufferConstraints
§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
§type Borrowed<'a> = &'a <RingBufferConstraints as TypeMarker>::Owned
type Borrowed<'a> = &'a <RingBufferConstraints as TypeMarker>::Owned
The Rust type to use for encoding. This is a particular
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more