pub struct SourceEncodingDescriptor {
encoding_id: SourceEncodingId,
source_id: PublishedSourceId,
rid: Option<Rid>,
primary_ssrc: Option<Ssrc>,
repair_ssrc: Option<Ssrc>,
max_bitrate: Option<Bitrate>,
resolution_scale: Option<u16>,
max_framerate: Option<u16>,
policy_role: Option<UploadLayerPolicyRole>,
negotiated_format: Option<MediaFormat>,
}Expand description
Room-domain description of one advertised source encoding.
This keeps policy identity separate from negotiated transport facts. RID,
SSRC, bitrate and codec data are metadata that help route projection,
diagnostics and recording describe the encoding. They are not substitutes
for SourceEncodingId.
Fields§
§encoding_id: SourceEncodingIdStable source-encoding identity used by selectors.
source_id: PublishedSourceIdParent logical source.
rid: Option<Rid>Negotiated RID when simulcast or layered transport exposes one.
primary_ssrc: Option<Ssrc>Primary RTP SSRC when known from negotiation or packet observation.
repair_ssrc: Option<Ssrc>Repair RTP SSRC such as RTX when known.
max_bitrate: Option<Bitrate>Sender-declared bitrate ceiling for this encoding.
resolution_scale: Option<u16>Sender-side resolution downscale advertised for this encoding.
max_framerate: Option<u16>Sender-side frame-rate ceiling advertised for this encoding.
policy_role: Option<UploadLayerPolicyRole>Server-defined policy role associated with this encoding.
negotiated_format: Option<MediaFormat>Negotiated payload and codec information for this encoding.
Implementations§
Source§impl SourceEncodingDescriptor
impl SourceEncodingDescriptor
Sourcepub fn new(parts: SourceEncodingDescriptorParts) -> Self
pub fn new(parts: SourceEncodingDescriptorParts) -> Self
Creates an encoding descriptor from normalized runtime facts.
This constructor does not validate parent membership because a single
encoding is not authoritative alone. PublishedSourceDescriptor::new
validates the full source graph when the encoding list is assembled.
pub const fn encoding_id(&self) -> SourceEncodingId
pub const fn source_id(&self) -> PublishedSourceId
pub fn rid(&self) -> Option<&Rid>
pub const fn primary_ssrc(&self) -> Option<Ssrc>
pub const fn repair_ssrc(&self) -> Option<Ssrc>
pub const fn max_bitrate(&self) -> Option<Bitrate>
pub const fn resolution_scale(&self) -> Option<u16>
pub const fn max_framerate(&self) -> Option<u16>
pub const fn policy_role(&self) -> Option<UploadLayerPolicyRole>
pub fn negotiated_format(&self) -> Option<&MediaFormat>
Trait Implementations§
Source§impl Clone for SourceEncodingDescriptor
impl Clone for SourceEncodingDescriptor
Source§fn clone(&self) -> SourceEncodingDescriptor
fn clone(&self) -> SourceEncodingDescriptor
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SourceEncodingDescriptor
impl Debug for SourceEncodingDescriptor
Source§impl PartialEq for SourceEncodingDescriptor
impl PartialEq for SourceEncodingDescriptor
impl Eq for SourceEncodingDescriptor
impl StructuralPartialEq for SourceEncodingDescriptor
Auto Trait Implementations§
impl Freeze for SourceEncodingDescriptor
impl RefUnwindSafe for SourceEncodingDescriptor
impl Send for SourceEncodingDescriptor
impl Sync for SourceEncodingDescriptor
impl Unpin for SourceEncodingDescriptor
impl UnsafeUnpin for SourceEncodingDescriptor
impl UnwindSafe for SourceEncodingDescriptor
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: 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>
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 more