Class AudioVideoControllerState

[[AudioVideoControllerState]] includes the compute resources shared by [[DefaultAudioVideoController]] and any running [[Task]].

Note: Any additions to this class need to consider whether they need to be reset in resetConnectionSpecificState, CleanStoppedSessionTask, or CleanRestartedSessionTask, e.g. if it is relies on backend state and will go stale across reconnections. Failing to reset state may lead to unexpected behavior.

Constructors

Properties

activeAudioInput: MediaStream = undefined
activeVideoInput: MediaStream = undefined
attendeePresenceDurationMs: number = null
audioDeviceInformation: { [id: string]: string } = {}
audioMixController: AudioMixController = null
audioProfile: AudioProfile = null
audioVideoController: AudioVideoController = null
browserBehavior: ExtendedBrowserBehavior = null
connectionMonitor: ConnectionMonitor = null
currentVideoSendCodec: VideoCodecCapability = undefined
degradedVideoSendCodecs: VideoCodecCapability[] = []
enableSimulcast: boolean = false
enableSVC: boolean = false
encodedTransformWorkerManager: EncodedTransformWorkerManager = null
eventController: EventController = null
iceCandidateHandler: (event: RTCPeerConnectionIceEvent) => void = null
iceCandidates: RTCIceCandidate[] = []
iceGatheringDurationMs: number = null
iceGatheringStateEventHandler: () => void = null
indexFrame: SdkIndexFrame = null
isSessionConnected: boolean = false
lastKnownVideoAvailability: MeetingSessionVideoAvailability = null
lastVideosToReceive: VideoStreamIdSet = null
lastVideoSubscriptionConfiguration: Map<
    number,
    SignalingClientVideoSubscriptionConfiguration,
> = ...
logger: Logger = null
maxVideoTileCount: number = 0
mediaStreamBroker: MediaStreamBroker = null
meetingSessionConfiguration: MeetingSessionConfiguration = null
meetingSessionTimingManager: MeetingSessionTimingManager = null
meetingStartDurationMs: number = null
meetingSupportedVideoSendCodecPreferences: VideoCodecCapability[] = undefined
peer: RTCPeerConnection = null
poorConnectionCount: number = 0
previousSdpAnswerAsString: string = ''
previousSdpOffer: SDP = null
prioritizedSendVideoCodecCapabilities: VideoCodecCapability[] = []
realtimeController: RealtimeController = null
reconnectController: ReconnectController = null
removableObservers: RemovableObserver[] = []
retryCount: number = 0
sdpAnswer: string = null
sdpOfferInit: RTCSessionDescriptionInit = null
serverSupportsCompression: boolean = false
signalingClient: SignalingClient = null
signalingOpenDurationMs: number = null
startAudioVideoTimestamp: number = null
startTimeMs: number = null
statsCollector: StatsCollector = null
transceiverController: TransceiverController = null
turnCredentials: MeetingSessionTURNCredentials = null
videoCaptureAndEncodeParameter: VideoCaptureAndEncodeParameter = null
videoDeviceInformation: { [id: string]: string } = {}
videoDownlinkBandwidthPolicy: VideoDownlinkBandwidthPolicy = null
videoDuplexMode: SdkStreamServiceType = null
videoInputAttachedTimestampMs: number = 0
videoSendCodecPreferences: VideoCodecCapability[] = []
videosPaused: VideoStreamIdSet = null
videosToReceive: VideoStreamIdSet = null
videoStreamIndex: VideoStreamIndex = null
videoSubscriptionLimit: number = DEFAULT_VIDEO_SUBSCRIPTION_LIMIT
videoSubscriptions: number[] = null
videoTileController: VideoTileController = null
videoUplinkBandwidthPolicy: VideoUplinkBandwidthPolicy = null
volumeIndicatorAdapter: VolumeIndicatorAdapter = null

Methods

  • Helper method to determine if audio redundancy should be enabled. Audio redundancy requires both the audio profile to have redundancy enabled and the encoded transform worker manager to be enabled.

    Returns boolean