#[non_exhaustive]#[repr(i32)]pub enum AudioChannelPosition {
Show 31 variants
None = -3,
Mono,
Invalid,
FrontLeft,
FrontRight,
FrontCenter,
Lfe1,
RearLeft,
RearRight,
FrontLeftOfCenter,
FrontRightOfCenter,
RearCenter,
Lfe2,
SideLeft,
SideRight,
TopFrontLeft,
TopFrontRight,
TopFrontCenter,
TopCenter,
TopRearLeft,
TopRearRight,
TopSideLeft,
TopSideRight,
TopRearCenter,
BottomFrontCenter,
BottomFrontLeft,
BottomFrontRight,
WideLeft,
WideRight,
SurroundLeft,
SurroundRight = 27,
}
Expand description
Audio channel positions.
These are the channels defined in SMPTE 2036-2-2008 Table 1 for 22.2 audio systems with the Surround and Wide channels from DTS Coherent Acoustics (v.1.3.1) and 10.2 and 7.1 layouts. In the caps the actual channel layout is expressed with a channel count and a channel mask, which describes the existing channels. The positions in the bit mask correspond to the enum values. For negotiation it is allowed to have more bits set in the channel mask than the number of channels to specify the allowed channel positions but this is not allowed in negotiated caps. It is not allowed in any situation other than the one mentioned below to have less bits set in the channel mask than the number of channels.
Mono
can only be used with a single mono channel that
has no direction information and would be mixed into all directional channels.
This is expressed in caps by having a single channel and no channel mask.
None
can only be used if all channels have this position.
This is expressed in caps by having a channel mask with no bits set.
As another special case it is allowed to have two channels without a channel mask. This implicitly means that this is a stereo stream with a front left and front right channel.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
None = -3
used for position-less channels, e.g. from a sound card that records 1024 channels; mutually exclusive with any other channel position
Mono
Mono without direction; can only be used with 1 channel
Invalid
invalid position
FrontLeft
Front left
FrontRight
Front right
FrontCenter
Front center
Lfe1
Low-frequency effects 1 (subwoofer)
RearLeft
Rear left
RearRight
Rear right
FrontLeftOfCenter
Front left of center
FrontRightOfCenter
Front right of center
RearCenter
Rear center
Lfe2
Low-frequency effects 2 (subwoofer)
SideLeft
Side left
SideRight
Side right
TopFrontLeft
Top front left
TopFrontRight
Top front right
TopFrontCenter
Top front center
TopCenter
Top center
TopRearLeft
Top rear left
TopRearRight
Top rear right
TopSideLeft
Top side right
TopSideRight
Top rear right
TopRearCenter
Top rear center
BottomFrontCenter
Bottom front center
BottomFrontLeft
Bottom front left
BottomFrontRight
Bottom front right
WideLeft
Wide left (between front left and side left)
WideRight
Wide right (between front right and side right)
SurroundLeft
Surround left (between rear left and side left)
SurroundRight = 27
Surround right (between rear right and side right)
Implementations§
source§impl AudioChannelPosition
impl AudioChannelPosition
pub fn to_mask(self) -> u64
pub fn positions_to_mask( positions: &[Self], force_order: bool, ) -> Result<u64, BoolError>
pub fn positions_from_mask( mask: u64, positions: &mut [Self], ) -> Result<(), BoolError>
pub fn positions_to_valid_order(positions: &mut [Self]) -> Result<(), BoolError>
pub fn fallback_mask(channels: u32) -> u64
pub fn check_valid_channel_positions( positions: &[Self], force_order: bool, ) -> bool
Trait Implementations§
source§impl Clone for AudioChannelPosition
impl Clone for AudioChannelPosition
source§fn clone(&self) -> AudioChannelPosition
fn clone(&self) -> AudioChannelPosition
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for AudioChannelPosition
impl Debug for AudioChannelPosition
source§impl From<AudioChannelPosition> for Value
impl From<AudioChannelPosition> for Value
source§fn from(v: AudioChannelPosition) -> Self
fn from(v: AudioChannelPosition) -> Self
source§impl<'a> FromValue<'a> for AudioChannelPosition
impl<'a> FromValue<'a> for AudioChannelPosition
§type Checker = GenericValueTypeChecker<AudioChannelPosition>
type Checker = GenericValueTypeChecker<AudioChannelPosition>
source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Value
. Read moresource§impl Hash for AudioChannelPosition
impl Hash for AudioChannelPosition
source§impl Ord for AudioChannelPosition
impl Ord for AudioChannelPosition
source§fn cmp(&self, other: &AudioChannelPosition) -> Ordering
fn cmp(&self, other: &AudioChannelPosition) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for AudioChannelPosition
impl PartialEq for AudioChannelPosition
source§fn eq(&self, other: &AudioChannelPosition) -> bool
fn eq(&self, other: &AudioChannelPosition) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for AudioChannelPosition
impl PartialOrd for AudioChannelPosition
source§fn partial_cmp(&self, other: &AudioChannelPosition) -> Option<Ordering>
fn partial_cmp(&self, other: &AudioChannelPosition) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl StaticType for AudioChannelPosition
impl StaticType for AudioChannelPosition
source§fn static_type() -> Type
fn static_type() -> Type
Self
.source§impl ToValue for AudioChannelPosition
impl ToValue for AudioChannelPosition
source§impl ValueType for AudioChannelPosition
impl ValueType for AudioChannelPosition
§type Type = AudioChannelPosition
type Type = AudioChannelPosition
Type
from. Read moreimpl Copy for AudioChannelPosition
impl Eq for AudioChannelPosition
impl StructuralPartialEq for AudioChannelPosition
Auto Trait Implementations§
impl Freeze for AudioChannelPosition
impl RefUnwindSafe for AudioChannelPosition
impl Send for AudioChannelPosition
impl Sync for AudioChannelPosition
impl Unpin for AudioChannelPosition
impl UnwindSafe for AudioChannelPosition
Blanket Implementations§
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
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere
T: StaticType,
source§fn ensure_type()
fn ensure_type()
source§impl<T> ToSendValue for T
impl<T> ToSendValue for T
source§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
SendValue
clone of self
.