Optional
groupCallId: stringOptional
dataChannelsEnabled: booleanOptional
dataChannelOptions: IGroupCallDataChannelOptionsOptional
isCallWithoutVideoAndAudio: booleanOptional
livekitServiceURL: stringPrivate
_creationPrivate
_enteredPrivate
Optional
_livekitPrivate
_participantsPrivate
_stateOptional
activePrivate
Optional
activeReadonly
allowPrivate
callPrivate
Readonly
callsPrivate
clientPrivate
Optional
dataPrivate
Optional
dataPrivate
Optional
initPrivate
initPrivate
initOptional
localOptional
localOptional
localPrivate
participantsPrivate
rePrivate
resendPrivate
retryPrivate
Optional
retryReadonly
screensharePrivate
statsPrivate
statsConfigure default webrtc stats collection interval in ms Disable collecting webrtc stats by setting interval to 0
Private
transmitPrivate
useReadonly
userThe timestamp at which the call was created, or null if it has not yet been created.
Whether the local device has entered this call via another session, such as a widget.
The current participants in the call, as a map from members to device IDs to participant info.
The group call's state.
Private
addAlias for TypedEventEmitter#on.
Private
addPrivate
addPrivate
callDetermines whether the given call is one that we were expecting to exist given our knowledge of who is participating in the group call.
Private
checkIf we allow entering a call without a camera and without video, it can happen that the access rights to the devices have not yet been queried. If a stream does not yet have an audio track, we assume that the rights have not yet been checked.
this.client.getMediaHandler().getUserMediaStream
clones the current stream, so it only wanted to be called when
not Audio Track exists.
As such, this is a compromise, because, the access rights should always be queried before the call.
Private
disposePrivate
disposeSynchronously calls each of the listeners registered for the event named
event
, in the order they were registered, passing the supplied arguments
to each.
The name of the event to emit
Rest
...args: Parameters<(GroupCallEventHandlerMap & CallEventHandlerMap & GroupCallStatsReportEventHandlerMap)[T]>Arguments to pass to the listener
true
if the event had listeners, false
otherwise.
Rest
...args: Parameters<(GroupCallEventHandlerMap & CallEventHandlerMap & GroupCallStatsReportEventHandlerMap)[T]>Similar to emit
but calls all listeners within a Promise.all
and returns the promise chain
The name of the event to emit
Rest
...args: Parameters<(GroupCallEventHandlerMap & CallEventHandlerMap & GroupCallStatsReportEventHandlerMap)[T]>Arguments to pass to the listener
true
if the event had listeners, false
otherwise.
Rest
...args: Parameters<(GroupCallEventHandlerMap & CallEventHandlerMap & GroupCallStatsReportEventHandlerMap)[T]>Executes the given callback on all calls in this group call.
The callback.
Private
getPrivate
initPrivate
initReturns the number of listeners listening to the event named event
.
The name of the event being listened for
Alias for TypedEventEmitter#removeListener
Adds the listener
function to the end of the listeners array for the
event named event
.
No checks are made to see if the listener
has already been added. Multiple calls
passing the same combination of event
and listener
will result in the listener
being added, and called, multiple times.
By default, event listeners are invoked in the order they are added. The TypedEventEmitter#prependListener method can be used as an alternative to add the event listener to the beginning of the listeners array.
The name of the event.
The callback function
a reference to the EventEmitter
, so that calls can be chained.
Private
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onPrivate
onAdds a one-time listener
function for the event named event
. The
next time event
is triggered, this listener is removed and then invoked.
Returns a reference to the EventEmitter
, so that calls can be chained.
By default, event listeners are invoked in the order they are added. The TypedEventEmitter#prependOnceListener method can be used as an alternative to add the event listener to the beginning of the listeners array.
The name of the event.
The callback function
a reference to the EventEmitter
, so that calls can be chained.
Private
placeAdds the listener
function to the beginning of the listeners array for the
event named event
.
No checks are made to see if the listener
has already been added. Multiple calls
passing the same combination of event
and listener
will result in the listener
being added, and called, multiple times.
The name of the event.
The callback function
a reference to the EventEmitter
, so that calls can be chained.
Adds a one-timelistener
function for the event named event
to the beginning of the listeners array.
The next time event
is triggered, this listener is removed, and then invoked.
The name of the event.
The callback function
a reference to the EventEmitter
, so that calls can be chained.
Removes all listeners, or those of the specified event
.
It is bad practice to remove listeners added elsewhere in the code,
particularly when the EventEmitter
instance was created by some other
component or module (e.g. sockets or file streams).
Optional
event: EventEmitterEvents | CallEvent | GroupCallEvent | GroupCallStatsReportEventThe name of the event. If undefined, all listeners everywhere are removed.
a reference to the EventEmitter
, so that calls can be chained.
Removes the specified listener
from the listener array for the event named event
.
a reference to the EventEmitter
, so that calls can be chained.
Private
removePrivate
removePrivate
replacePrivate
replacePrivate
sendPrivate
updateUpdates the local user's member state with the devices returned by the given function.
A function from the current devices to the new devices. If it returns null, the update will be skipped.
Whether the request should outlive the window.
Private
updatePrivate
updatePrivate
wantsDetermines whether a given participant expects us to call them (versus them calling us).
The participant's user ID.
The participant's device ID.
Whether we need to place an outgoing call to the participant.
Generated using TypeDoc
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.
Type parameters:
Events
- List of all events emitted by thisTypedEventEmitter
. Normally an enum type.Arguments
- A ListenerMap type providing mappings from event names to listener types.SuperclassArguments
- TODO: not really sure. Alternative listener mappings, I think? But only honoured for.emit
?