pub struct SourceLayoutPolicy {
visible_selector: SourceRoomPolicySelector,
active_speaker_selector: Option<SourceRoomPolicySelector>,
}Expand description
default receiver-layout role for one source
core combines publish intent, receiver layout preference and active-speaker
state to choose one SourceRoomPolicySelector per receiver/source route
sources without layout policy stay out of video budget planning
Fields§
§visible_selector: SourceRoomPolicySelector§active_speaker_selector: Option<SourceRoomPolicySelector>Implementations§
Source§impl SourceLayoutPolicy
impl SourceLayoutPolicy
pub const fn new( visible_selector: SourceRoomPolicySelector, active_speaker_selector: Option<SourceRoomPolicySelector>, ) -> SourceLayoutPolicy
Sourcepub fn resolve(
self,
preference: Option<VideoLayoutIntent>,
active_speaker: bool,
) -> SourceRoomPolicySelector
pub fn resolve( self, preference: Option<VideoLayoutIntent>, active_speaker: bool, ) -> SourceRoomPolicySelector
Resolves a receiver-specific layout role.
Explicit VideoLayoutIntent wins so active-speaker observations cannot
override that receiver’s layout. Without explicit intent, an active speaker
uses active_speaker_selector when configured. If neither explicit intent
nor active-speaker selection applies, visible_selector is used.
Trait Implementations§
Source§impl Clone for SourceLayoutPolicy
impl Clone for SourceLayoutPolicy
Source§fn clone(&self) -> SourceLayoutPolicy
fn clone(&self) -> SourceLayoutPolicy
Returns a duplicate 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 SourceLayoutPolicy
impl Debug for SourceLayoutPolicy
Source§impl PartialEq for SourceLayoutPolicy
impl PartialEq for SourceLayoutPolicy
impl Copy for SourceLayoutPolicy
impl Eq for SourceLayoutPolicy
impl StructuralPartialEq for SourceLayoutPolicy
Auto Trait Implementations§
impl Freeze for SourceLayoutPolicy
impl RefUnwindSafe for SourceLayoutPolicy
impl Send for SourceLayoutPolicy
impl Sync for SourceLayoutPolicy
impl Unpin for SourceLayoutPolicy
impl UnsafeUnpin for SourceLayoutPolicy
impl UnwindSafe for SourceLayoutPolicy
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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 more