fidl_fuchsia_hardware_audio_signalprocessing

Struct DynamicsBandState

Source
pub struct DynamicsBandState {
Show 14 fields pub id: Option<u64>, pub min_frequency: Option<u32>, pub max_frequency: Option<u32>, pub threshold_db: Option<f32>, pub threshold_type: Option<ThresholdType>, pub ratio: Option<f32>, pub knee_width_db: Option<f32>, pub attack: Option<i64>, pub release: Option<i64>, pub output_gain_db: Option<f32>, pub input_gain_db: Option<f32>, pub level_type: Option<LevelType>, pub lookahead: Option<i64>, pub linked_channels: Option<bool>, /* private fields */
}
Expand description

State for a single band within an Element with type equal to DYNAMICS. Servers may include control band fields even if the values are not able to be changed by the client (i.e. the bits are not set in supported_controls).

Fields§

§id: Option<u64>

Unique ID for the band. Must match one of the ids specified in Dynamics bands.

§min_frequency: Option<u32>

Minimum frequency for the band in Hz. This field could be 0, for instance for single band dynamics processing to specify (together with max_frequency) that the band is full range.

§max_frequency: Option<u32>

Maximum frequency for the band in Hz. This field could be the Nyquist frequency, for instance for single band dynamics processing to specify (together with min_frequency) that the band is full range.

Required.

§threshold_db: Option<f32>

The value beyond which the dynamics main processing starts (subject to the knee_width_db), in input dB. Some signal processing like input_gain and output_gain are not affected by this value.

Required.

§threshold_type: Option<ThresholdType>

Dynamics processing is applied ABOVE or BELOW the threshold.

Required for a server. A client must not include this field in a SetElementState if DynamicsSupportedControls.THRESHOLD_TYPE is not set in supported_controls.

§ratio: Option<f32>

The input-to-output dB ratio above or below (see threshold_type) the knee region.

Required.

§knee_width_db: Option<f32>

The width of the knee region, in input dB. If present, cannot be negative. If not included, the width of the knee region is unspecified. A value of zero is a “hard” knee; larger values lead to “softer” knees. This knee is centered on threshold_db.

Optional. A client must not include this field in a SetElementState if DynamicsSupportedControls.KNEE_WIDTH is not set in supported_controls.

§attack: Option<i64>

Attack time. If not included, the attack time is unspecified.

Optional. A client must not include this field in a SetElementState if DynamicsSupportedControls.ATTACK is not set in supported_controls.

§release: Option<i64>

Release time. If not included, the release time is unspecified.

Optional. A client must not include this field in a SetElementState if DynamicsSupportedControls.RELEASE is not set in supported_controls.

§output_gain_db: Option<f32>

Output (a.k.a. make up or post) gain value in dB. If not included, the output gain is unspecified.

Optional. A client must not include this field in a SetElementState if DynamicsSupportedControls.OUTPUT_GAIN is not set in supported_controls.

§input_gain_db: Option<f32>

input (a.k.a. pre) gain value in dB. If not included, the input gain is unspecified.

Optional. A client must not include this field in a SetElementState if DynamicsSupportedControls.INPUT_GAIN is not set in supported_controls.

§level_type: Option<LevelType>

Level type (peak or RMS). If not included, the level type is unspecified.

Optional. A client must not include this field in a SetElementState if DynamicsSupportedControls.LEVEL_TYPE is not set in supported_controls.

§lookahead: Option<i64>

Look-ahead time. If not included, the look-ahead time is unspecified.

Optional. A client must not include this field in a SetElementState if DynamicsSupportedControls.LOOKAHEAD is not set in supported_controls.

§linked_channels: Option<bool>

Linked channels (a.k.a. Stereo linked for 2-channel systems). If not included, the linked channels option is unspecified. If true, the dynamics response is applied to all channels. If false, each channel has its own dynamics response.

Optional. A client must not include this field in a SetElementState if DynamicsSupportedControls.LINKED_CHANNELS is not set in supported_controls.

Trait Implementations§

Source§

impl Clone for DynamicsBandState

Source§

fn clone(&self) -> DynamicsBandState

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DynamicsBandState

Source§

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

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

impl<D: ResourceDialect> Decode<DynamicsBandState, D> for DynamicsBandState

Source§

fn new_empty() -> Self

Creates a valid instance of Self. The specific value does not matter, since it will be overwritten by decode.
Source§

unsafe fn decode( &mut self, decoder: &mut Decoder<'_, D>, offset: usize, depth: Depth, ) -> Result<()>

Decodes an object of type T from the decoder’s buffers into self. Read more
Source§

impl Default for DynamicsBandState

Source§

fn default() -> DynamicsBandState

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

impl<D: ResourceDialect> Encode<DynamicsBandState, D> for &DynamicsBandState

Source§

unsafe fn encode( self, encoder: &mut Encoder<'_, D>, offset: usize, depth: Depth, ) -> Result<()>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl PartialEq for DynamicsBandState

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 TypeMarker for DynamicsBandState

Source§

type Owned = DynamicsBandState

The owned Rust type which this FIDL type decodes into.
Source§

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

Returns the size of the inline portion of the encoded object, including padding for alignment. Must be a multiple of inline_align.
§

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 more
§

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 DynamicsBandState

Source§

type Borrowed<'a> = &'a DynamicsBandState

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
Source§

fn borrow(value: &<Self as TypeMarker>::Owned) -> Self::Borrowed<'_>

Cheaply converts from &Self::Owned to Self::Borrowed.
Source§

impl Persistable for DynamicsBandState

Source§

impl StructuralPartialEq for DynamicsBandState

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
§

impl<T> Body for T
where T: Persistable,

§

type MarkerAtTopLevel = T

The marker type to use when the body is at the top-level.
§

type MarkerInResultUnion = T

The marker type to use when the body is nested in a result union.
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, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

§

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
§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

§

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
§

impl<E> ErrorType for E
where E: ValueTypeMarker<Owned = E> + Decode<E, DefaultFuchsiaResourceDialect>,

§

type Marker = E

The marker type.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> 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 = 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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more