Instances of [[DevicePixelRatioObserver]] can be registered with a [[DevicePixelRatioMonitor]] to receive callbacks for a change in the HTML window's device pixel ratio.

Implements

Constructors

Methods

  • Binds the video element to the tile and sends out updates. This must also be called anytime the display of the video element changes, for example, when changing its dimensions or hiding it. To unbind the video element from the tile pass null.

    Parameters

    • videoElement: HTMLVideoElement

    Returns void

  • Updates current video tile’s state with the provided arguments. If the tile state is updated, the new tile state is sent to the meeting session's AudioVideoObserver's [[videoTileDidUpdate]] callback.

    Parameters

    • attendeeId: string
    • localTile: boolean
    • mediaStream: MediaStream
    • contentWidth: number
    • contentHeight: number
    • streamId: number
    • OptionalexternalUserId: string
    • OptionalgroupId: number

    Returns void

  • Marks the tile as having poor connection returning whether it was previously unmarked. The updated video tile state is sent to the meeting session’s AudioVideoObserver's [[videoTileDidUpdate]] callback.

    Returns boolean

  • Pauses the tile if it is not paused. When paused, the tile moves to an inactive state. The updated video tile state is sent to the meeting session’s AudioVideoObserver's [[videoTileDidUpdate]] callback. This API is intended to be called on the remote videos. If called on a local video tile, then the tile will no longer be updated, but the local video source will continue to be sent into the meeting.

    Returns void

  • Override the internal stream ID. Needed as some logic around pause state has been coupled to the stream ID in the VideoTileState struct.

    Parameters

    • id: number

    Returns void

  • Unmarks the tile as having a poor connection returning whether it was previously marked. The updated video tile state is sent to the meeting session’s AudioVideoObserver's [[videoTileDidUpdate]] callback.

    Returns boolean

  • Unpauses the tile if it was paused. When unpaused, the tile moves to the active state. The updated video tile state is sent to the meeting session’s AudioVideoObserver's [[videoTileDidUpdate]] callback. This API is intended to be called on the remote videos and has no effect on the local video. When called on a remote video, the remote video source will start getting the updates if paused earlier.

    Returns void

  • Connect a video stream to a video element by setting the srcObject of the video element to the video stream.

    Parameters

    • videoStream: MediaStream

      The video stream input.

    • videoElement: HTMLVideoElement

      The video element input.

    • localTile: boolean

      Flag to indicate whether this is a local video.

    Returns void

  • Disconnect a video stream from a video element by setting HTMLVideoElement.srcObject to null.

    Parameters

    • videoElement: HTMLVideoElement

      The video element input.

    • dueToPause: boolean

      A flag to indicate whether this function is called due to pausing video tile. Based on keepLastFrameWhenPaused, it sets HTMLVideoElement.srcObject to null.

    • keepLastFrameWhenPaused: boolean = false

      If true and dueToPause is also true, then we will not set HTMLVideoElement.srcObject of the video element to null when it is paused and therefore, the last frame of the stream will be shown.

    Returns void