UTDRoomManager class

Wraps the media engine Room and exposes a simplified API. The kit's central RTC engine + UI handle.

Constructors

UTDRoomManager()

Properties

activeSpeakersStream Stream<List<Participant<TrackPublication<Track>>>>
Listen for active-speaker changes (loudest first; includes local).
no setter
connectionState ValueNotifier<UTDConnectionState>
Notifies UI of connection state changes.
final
dataStream Stream<Map<String, dynamic>>
Stream of incoming data messages.
no setter
hashCode int
The hash code for this object.
no setterinherited
lastDisconnectReason ↔ DisconnectReason?
Reason for the most recent room disconnect (if any).
getter/setter pair
localParticipant → LocalParticipant?
Local participant.
no setter
onParticipantRemoved ↔ void Function()?
Fired when the SERVER removed us from the room (DisconnectReason.participantRemoved). Used as a ban fallback when the _banned data message is not delivered before removal.
getter/setter pair
participantAttributesChangedStream Stream<Participant<TrackPublication<Track>>>
no setter
participantJoinedStream Stream<Participant<TrackPublication<Track>>>
no setter
participantLeftStream Stream<Participant<TrackPublication<Track>>>
no setter
participantMetadataChangedStream Stream<Participant<TrackPublication<Track>>>
Emits a participant whenever their metadata changes (e.g. the engine rewrites their role).
no setter
remoteAudioMuted bool
When true, every remote AUDIO track is disabled on subscribe — the "speaker off" state must silence ALL output (earpiece included), not just reroute the speakerphone. Maintained by UTDMediaController.
getter/setter pair
remoteParticipants List<RemoteParticipant>
All remote participants.
no setter
room → Room?
The underlying the media engine room (for advanced usage).
no setter
roomMetadataStream Stream<String>
Listen to this for room metadata changes (includes _seats updates).
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
videoEffectsEntitled bool
Trusted Video Effects entitlement decoded from the join token's signed videoEffects claim (set at the top of connect). Passed into the factory so the processor runs effects only when the customer has activated + paid.
getter/setter pair
videoProcessorFactory ↔ TrackProcessor<VideoProcessorOptions> Function(bool entitled)?
Builds a fresh the media engine video-effects processor for each camera capture, or null for none (default). Applied to RoomOptions.defaultCameraCaptureOptions so every SDK-internal camera creation — setCameraEnabled(true), reconnect re-publish, autoHostCamera, guest go-live — carries the effects. The host self-preview path is handled separately in UTDMediaController.startPreview. Set via UTDRoomController.setVideoProcessorFactory BEFORE connect.
getter/setter pair
videoQuality UTDVideoQuality
Video publish quality for local camera tracks (capture resolution + publish encoding). Baked into RoomOptions at Room construction, so it must be set BEFORE connect (via UTDRoomController.setVideoQuality / UTDLiveRoomConfig.videoQuality). Default HD (720p).
getter/setter pair
videoTracksNotifier ValueNotifier<Map<String, VideoTrack>>
Remote camera VideoTracks, keyed by participant identity. Populated from TrackSubscribedEvent/TrackUnsubscribedEvent filtered to the camera source (mic / screen-share tracks are ignored here).
final

Methods

connect(String url, String token) Future<void>
Connect to a media engine room with automatic retry on timeout.
disconnect() Future<void>
Disconnect from the room and clean up.
dispose() → void
Dispose all resources.
getRemoteVideoTrack(String identity) → VideoTrack?
The current remote camera VideoTrack for identity, or null when that participant is not publishing a camera track (or it is not yet subscribed).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
sendData(Map<String, dynamic> data, {List<String>? destinationIdentities, bool lossy = false}) Future<void>
Send data to all or specific participants. Sends an in-room command to all or specific participants.
setAllRemoteAudioEnabled(bool enabled) → void
Enable/disable playback of every currently-subscribed remote audio track.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited