Skip to main content

Module source_model

Module source_model 

Source
Expand description

Runtime-native source, encoding and selection vocabulary for published media.

This module defines the room-domain source identity that room state, transport projection, diagnostics and recording metadata are expected to share. It is the vocabulary above SDP, browser APIs and worker-local media handles: those layers may attach facts to a source, but they must not define the source identity.

A published media stream is modeled as one PublishedSourceId plus one or more SourceEncodingId values. o_sfu_rfc::rtp::Mid, o_sfu_rfc::rtp::Rid and o_sfu_rfc::rtp::Ssrc stay as negotiated or transport-facing attachment points. Keeping those identities separate lets later same-room spillover and recording consume the same source inventory without redefining it around local worker placement.

Application layers should express stream-specific behavior by constructing SourcePublishIntent and SourceDeactivateIntent values. Core policy reads the source SourcePolicy carried by each source, never compatibility stream labels.

ยงUpload layer profiles

The server-defined upload ladder lives at the RTC offer edge as upload-slot metadata, while this module stores the negotiated source encodings that result from the answer.

Re-exportsยง

pub use descriptor::PublishedSourceDescriptor;
pub use descriptor::PublishedSourceDescriptorParts;
pub use descriptor::SourceEncodingDescriptor;
pub use descriptor::SourceEncodingDescriptorParts;
pub use descriptor::SourceModelError;
pub use diagnostics::ReceiverVideoBudgetDiagnostics;
pub use ids::PublishedSourceId;
pub use ids::PublishedSourceOwner;
pub use ids::SourceEncodingId;
pub use ids::UserStreamId;
pub use intent::SourceDeactivateIntent;
pub use intent::SourcePublishIntent;
pub use intent::SourceSubscriptionIntent;
pub use policy::ActiveSpeakerGroup;
pub use policy::ActiveSpeakerPolicy;
pub use policy::ActiveSpeakerSourceRole;
pub use policy::PolicyPauseReason;
pub use policy::SourceAdaptationPolicy;
pub use policy::SourceLayoutPolicy;
pub use policy::SourcePolicy;
pub use policy::SourceRoomPolicySelector;
pub use policy::SourceRoutePriority;
pub use policy::UploadLayerPolicyRole;
pub use selection::ConsumerSourceSelection;
pub use selection::SourceSelector;

Modulesยง

descriptor ๐Ÿ”’
diagnostics ๐Ÿ”’
ids ๐Ÿ”’
intent ๐Ÿ”’
policy ๐Ÿ”’
selection ๐Ÿ”’