Class GroupCall

Typed Event Emitter class which can act as a Base Model for all our model and communication events. This makes it much easier for us to distinguish between events, as we now need to properly type this, so that our events are not stringly-based and prone to silly typos.

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

_creationTs: null | number = null
_enteredViaAnotherSession: boolean = false
_participants: Map<RoomMember, Map<string, ParticipantState>> = ...
_state: GroupCallState = GroupCallState.LocalCallFeedUninitialized
activeSpeaker?: CallFeed
activeSpeakerInterval: number = 1000
activeSpeakerLoopInterval?: Timeout
allowCallWithoutVideoAndAudio: boolean
callHandlers: Map<string, Map<string, ICallHandlers>> = ...
calls: Map<string, Map<string, MatrixCall>> = ...
client: MatrixClient
dataChannelOptions?: IGroupCallDataChannelOptions
dataChannelsEnabled?: boolean
groupCallId: string
initCallFeedPromise?: Promise<void>
initWithAudioMuted: boolean = false
initWithVideoMuted: boolean = false
isPtt: boolean
localCallFeed?: CallFeed
localDesktopCapturerSourceId?: string
localScreenshareFeed?: CallFeed
participantTimeout: number = ...
participantsExpirationTimer: null | Timeout = null
pttMaxTransmitTime: number = ...
reEmitter: ReEmitter
resendMemberStateTimer: null | Timer = null
retryCallCounts: Map<string, Map<string, number>> = ...
retryCallInterval: number = 5000
retryCallLoopInterval?: Timeout
room: Room
screenshareFeeds: CallFeed[] = []
transmitTimer: null | Timeout = null
userMediaFeeds: CallFeed[] = []

Accessors

  • get creationTs(): null | number
  • The timestamp at which the call was created, or null if it has not yet been created.

    Returns null | number

  • set creationTs(value: null | number): void
  • Parameters

    • value: null | number

    Returns void

  • get enteredViaAnotherSession(): boolean
  • Whether the local device has entered this call via another session, such as a widget.

    Returns boolean

  • set enteredViaAnotherSession(value: boolean): void
  • Parameters

    • value: boolean

    Returns void

Methods

  • Determines whether the given call is one that we were expecting to exist given our knowledge of who is participating in the group call.

    Parameters

    Returns boolean

  • Cleans up our member state by filtering out logged out devices, inactive devices, and our own device (if we know we haven't entered).

    Returns Promise<void>

  • Places calls to all participants that we're responsible for calling.

    Returns void

  • Sets the mute state of the local participants's video.

    Returns

    Whether muting/unmuting was successful

    Parameters

    • muted: boolean

      Whether to mute the video

    Returns Promise<boolean>

  • Sets the mute state of the local participants's microphone.

    Returns

    Whether muting/unmuting was successful

    Parameters

    • muted: boolean

      Whether to mute the microphone

    Returns Promise<boolean>

  • Parameters

    • emitStateEvent: boolean = true

    Returns Promise<void>

  • Parameters

    • stream: MediaStream

    Returns Promise<void>

  • Recalculates and updates the participant map to match the room state.

    Returns void

  • Determines whether a given participant expects us to call them (versus them calling us).

    Returns

    Whether we need to place an outgoing call to the participant.

    Parameters

    • userId: string

      The participant's user ID.

    • deviceId: string

      The participant's device ID.

    Returns boolean

Generated using TypeDoc