matrix-js-sdk

    Class MatrixCall

    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 this TypedEventEmitter. 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?

    Hierarchy (View Summary, Expand)

    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    callId: string
    direction?: CallDirection
    groupCallId?: string
    hangupParty?: CallParty
    hangupReason?: string
    invitee?: string
    isPtt: boolean = false
    ourPartyId: string
    roomId: string
    toDeviceSeq: number = 0

    Accessors

    Methods

    • Create a datachannel using this call's peer connection.

      Parameters

      • label: string

        A human readable label for this datachannel

      • options: undefined | RTCDataChannelInit

        An object providing configuration options for the data channel.

      Returns RTCDataChannel

    • Hangup a call.

      Parameters

      • reason: CallErrorCode

        The reason why the call is being hung up.

      • suppressEvent: boolean

        True to suppress emitting an event.

      Returns void

    • Indicates whether we are 'on hold' to the remote party (ie. if true, they cannot hear us).

      Returns boolean

      true if the other party has put us on hold

    • Check if local video is muted.

      If there are multiple video tracks, all of the tracks need to be muted for this to return true. This means if there are no video tracks, this will return true.

      Returns boolean

      True if the local preview video is muted, else false (including if the call is not set up yet).

    • Check if the microphone is muted.

      If there are multiple audio tracks, all of the tracks need to be muted for this to return true. This means if there are no audio tracks, this will return true.

      Returns boolean

      True if the mic is muted, else false (including if the call is not set up yet).

    • Returns boolean

      true if we have put the party on the other side of the call on hold (that is, we are signalling to them that we are not listening)

    • If there is a screensharing stream returns true, otherwise returns false

      Returns boolean

      is screensharing

    • Returns true if there are no incoming feeds, otherwise returns false

      Returns boolean

      no incoming feeds

    • Returns true if this.remoteSDPStreamMetadata is defined, otherwise returns false

      Returns boolean

      can screenshare

    • Place a call to this room.

      Parameters

      • audio: boolean
      • video: boolean

      Returns Promise<void>

      if you have not specified a listener for 'error' events.

      if have passed audio=false.

    • Place a call to this room with call feed.

      Parameters

      • callFeeds: CallFeed[]

        to use

      • requestScreenshareFeed: boolean = false

      Returns Promise<void>

      if you have not specified a listener for 'error' events.

      if have passed audio=false.

    • Place a video call to this room.

      Returns Promise<void>

      If you have not specified a listener for 'error' events.

    • Place a voice call to this room.

      Returns Promise<void>

      If you have not specified a listener for 'error' events.

    • Pushes supplied feed to the call

      Parameters

      • callFeed: CallFeed

        to push

      • addToPeerConnection: boolean = true

        whether to add the tracks to the peer connection

      Returns void

    • Reject a call This used to be done by calling hangup, but is a separate method and protocol event as of MSC2746.

      Returns void

    • Removes local call feed from the call and its tracks from the peer connection

      Parameters

      Returns void

    • Sends a DTMF digit to the other party

      Parameters

      • digit: string

        The digit (nb. string - '#' and '*' are dtmf too)

      Returns void

    • Set whether our outbound video should be muted or not.

      Parameters

      • muted: boolean

        True to mute the outbound video.

      Returns Promise<boolean>

      the new mute state

    • Set whether the microphone should be muted or not.

      Parameters

      • muted: boolean

        True to mute the mic.

      Returns Promise<boolean>

      the new mute state

    • Replaces/adds the tracks from the passed stream to the localUsermediaStream

      Parameters

      • stream: MediaStream

        to use a replacement for the local usermedia stream

      • forceAudio: boolean = false
      • forceVideo: boolean = false

      Returns Promise<void>

    MMNEPVFCICPMFPCPTTAAATR