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)

Constructors

Properties

screensharingStreams: MediaStream[] = []
userMediaStreams: MediaStream[] = []

Methods

  • Parameters

    • audio: boolean

      should have an audio track

    • video: boolean

      should have a video track

    • reusable: boolean = true

      is allowed to be reused by the MediaHandler

    Returns Promise<MediaStream>

    based on passed parameters

  • Parameters

    • audioInput: string
    • videoInput: string

    Returns void

  • Set an audio input device to use for MatrixCalls

    Parameters

    • deviceId: string

      the identifier for the device undefined treated as unset

    Returns Promise<void>

  • Set media input devices to use for MatrixCalls

    Parameters

    • audioInput: string

      the identifier for the audio device

    • videoInput: string

      the identifier for the video device undefined treated as unset

    Returns Promise<void>

  • Set a video input device to use for MatrixCalls

    Parameters

    • deviceId: string

      the identifier for the device undefined treated as unset

    Returns Promise<void>