Skip to main content

FormatFlags

Struct FormatFlags 

Source
#[repr(transparent)]
pub struct FormatFlags(pub u32);

Tuple Fields§

§0: u32

Implementations§

Source§

impl FormatFlags

Source

pub fn is_empty(&self) -> bool

Source

pub fn any(&self, mask: Self) -> bool

Source

pub fn contains(&self, val: Self) -> bool

Source

pub fn insert(&mut self, val: Self)

Source

pub fn remove(&mut self, val: Self)

Source

pub fn set(&mut self, val: Self, on: bool)

Source§

impl FormatFlags

ios app audio - IS_BIG_ENDIAN | IS_SIGNED_INTEGER | IS_PACKED mic - IS_SIGNED_INTEGER | IS_PACKED These are the standard AudioFormatFlags for use in the mFormatFlags field of the AudioStreamBasicDescription structure. Typically, when an ASBD is being used, the fields describe the complete layout of the sample data in the buffers that are represented by this description - where typically those buffers are represented by an AudioBuffer that is contained in an AudioBufferList.

However, when an ASBD has the kAudioFormatFlagIsNonInterleaved flag, the AudioBufferList has a different structure and semantic. In this case, the ASBD fields will describe the format of ONE of the AudioBuffers that are contained in the list, AND each AudioBuffer in the list is determined to have a single (mono) channel of audio data. Then, the ASBD’s mChannelsPerFrame will indicate the total number of AudioBuffers that are contained within the AudioBufferList - where each buffer contains one channel. This is used primarily with the AudioUnit (and AudioConverter) representation of this list - and won’t be found in the AudioHardware usage of this structure.

Source

pub const IS_FLOAT: Self

Set for floating point, clear for integer.

Source

pub const IS_BIG_ENDIAN: Self

Set for big endian, clear for little endian.

Source

pub const IS_SIGNED_INTEGER: Self

Set for signed integer, clear for unsigned integer. This is only valid if AudioFormatFlags::IS_FLOAT is clear.

Source

pub const IS_PACKED: Self

Set if the sample bits occupy the entire available bits for the channel, clear if they are high or low aligned within the channel. Note that even if this flag is clear, it is implied that this flag is set if the AudioStreamBasicDescription is filled out such that the fields have the following relationship: ((bits_per_sample / 8) * channels_per_frame) == bytes_per_frame

Source

pub const IS_ALIGNED_HIGH: Self

Set if the sample bits are placed into the high bits of the channel, clear for low bit placement. This is only valid if kAudioFormatFlagIsPacked is clear.

Source

pub const IS_NON_INTERLEAVED: Self

Set if the samples for each channel are located contiguously and the channels are layed out end to end, clear if the samples for each frame are layed out contiguously and the frames layed out end to end.

Source

pub const IS_NON_MIXABLE: Self

Set to indicate when a format is non-mixable. Note that this flag is only used when interacting with the HAL’s stream format information. It is not a valid flag for any other uses.

Source

pub const ALL_CLEAR: Self

Set if all the flags would be clear in order to preserve 0 as the wild card value.

Source

pub const LINEAR_PCM_IS_FLOAT: Self = Self::IS_FLOAT

Source

pub const LINEAR_PCM_IS_BIG_ENDIAN: Self = Self::IS_BIG_ENDIAN

Source

pub const LINEAR_PCM_IS_SIGNED_INTEGER: Self = Self::IS_SIGNED_INTEGER

Source

pub const LINEAR_PCM_IS_PACKED: Self = Self::IS_PACKED

Source

pub const LINEAR_PCM_IS_ALIGNED_HIGH: Self = Self::IS_ALIGNED_HIGH

Source

pub const LINEAR_PCM_IS_NON_INTERLEAVED: Self = Self::IS_NON_INTERLEAVED

Source

pub const LINEAR_PCM_IS_NON_MIXABLE: Self = Self::IS_NON_MIXABLE

Source

pub const NATIVE_ENDIAN: Self

Source

pub const NATIVE_FLOAT_PACKED: Self

Source

pub const LINEAR_PCM_SAMPLE_FRACTION_SHIFT: Self

The linear PCM flags contain a 6-bit bitfield indicating that an integer format is to be interpreted as fixed point. The value indicates the number of bits are used to represent the fractional portion of each sample value. This constant indicates the bit position (counting from the right) of the bitfield in mFormatFlags.

Source

pub const LINEAR_PCM_SAMPLE_FRACTION_MASK: Self

number_fractional_bits = (mFormatFlags & kLinearPCMFormatFlagsSampleFractionMask) >> kLinearPCMFormatFlagsSampleFractionShift

Source

pub const LINEAR_PCM_ARE_ALL_CLEAR: Self = Self::ALL_CLEAR

Source

pub const APPLE_LOSSLESS_16_BIT_SOURCE_DATA: Self

This flag is set for Apple Lossless data that was sourced from 16 bit native endian signed integer data.

Source

pub const APPLE_LOSSLESS_20_BIT_SOURCE_DATA: Self

This flag is set for Apple Lossless data that was sourced from 20 bit native endian signed integer data aligned high in 24 bits.

Source

pub const APPLE_LOSSLESS_24_BIT_SOURCE_DATA: Self

his flag is set for Apple Lossless data that was sourced from 24 bit native endian signed integer data.

Source

pub const APPLE_LOSSLESS_32_BIT_SOURCE_DATA: Self

This flag is set for Apple Lossless data that was sourced from 32 bit native endian signed integer data.

Trait Implementations§

Source§

impl Binary for FormatFlags

Source§

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

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

impl BitAnd for FormatFlags

Source§

type Output = FormatFlags

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self

Performs the & operation. Read more
Source§

impl BitAndAssign for FormatFlags

Source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
Source§

impl BitOr for FormatFlags

Source§

type Output = FormatFlags

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self

Performs the | operation. Read more
Source§

impl BitOrAssign for FormatFlags

Source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
Source§

impl BitXor for FormatFlags

Source§

type Output = FormatFlags

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Self) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXorAssign for FormatFlags

Source§

fn bitxor_assign(&mut self, rhs: Self)

Performs the ^= operation. Read more
Source§

impl Clone for FormatFlags

Source§

fn clone(&self) -> FormatFlags

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 FormatFlags

Source§

impl Debug for FormatFlags

Source§

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

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

impl Default for FormatFlags

Source§

fn default() -> FormatFlags

Returns the “default value” for a type. Read more
Source§

impl Display for FormatFlags

Source§

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

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

impl Eq for FormatFlags

Source§

impl From<u32> for FormatFlags

Source§

fn from(value: u32) -> Self

Converts to this type from the input type.
Source§

impl Hash for FormatFlags

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Not for FormatFlags

Source§

type Output = FormatFlags

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl PartialEq for FormatFlags

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for FormatFlags

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.