Skip to main content

Module engine

Module engine 

Source
Expand description

Private media engine implementation tree.

This tree owns the room engine, media transport facade, RTC worker implementation, recording hooks, diagnostics projections, metrics bridge and source policy machinery used below the public o-sfu-core front door.

The media engine has to coordinate state that is too concrete for the pure router and too low level for the server shell: room membership, publish or subscribe transactions, transport cleanup, packet sinks, relay setup, packet- loop observations and room media policy. Keeping those pieces together lets them share media-engine state without making the server crate import RTC workers or room-state internals.

Re-exports§

pub use crate::RoomInstanceId;

Modules§

media_transport
Runtime media transport boundary used by core.
metrics
observability 🔒
packet_sink_registry
recording
Recording packet-sink extension point.
room
Room lifecycle, membership and media-route orchestration.
source_model
Runtime-native source, encoding and selection vocabulary for published media.
sync

Structs§

AvailableFeatures
room capabilities advertised to a newly connected browser client
ConnectionId
unique identifier for a user’s transport connection within the server process
MediaWorkerId
runtime-local identifier for one rtc media worker
PeerSnapshot
full peer entry sent when a client needs the current room membership view
RecordingOptions
recording modes requested by a user
RecordingState
current room recording state as shown to call participants
RecordingStateUpdate
recording state update emitted to clients and observers
UserInfo
presence and call UI state associated with one room participant
UserPermissions
user-level permissions supplied by the Odoo authentication path

Enums§

StopCode
business reason attached to a recording stop update
UserId
user identity as accepted by the Odoo-facing call contract
VideoLayoutIntent
receiver-side layout role for a video stream
WebSocketCloseCode
websocket close code vocabulary shared by server and browser protocol code

Type Aliases§

JsonPayload
opaque compatibility payload carried through legacy broadcast paths