Package-level declarations

Types

Link copied to clipboard
class DefaultVideoRenderView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) : SurfaceRenderView
Link copied to clipboard
class DefaultVideoTile(logger: Logger, tileId: Int, attendeeId: String, videoStreamContentWidth: Int, videoStreamContentHeight: Int, isLocalTile: Boolean) : VideoTile
Link copied to clipboard
class DefaultVideoTileController(logger: Logger, videoClientController: VideoClientController, videoTileFactory: VideoTileFactory, eglCoreFactory: EglCoreFactory, meetingStatsCollector: MeetingStatsCollector) : VideoTileController
Link copied to clipboard
Link copied to clipboard
data class LocalVideoConfiguration @JvmOverloads constructor(maxBitRateKbps: Int = 0)

Contains configuration for a local video or content share to be sent

Link copied to clipboard
class RemoteVideoSource(val attendeeId: String)

A video source available in the current meeting. RemoteVideoSource need to be consistent between remoteVideoSourcesDidBecomeAvailable and updateVideoSourceSubscriptions as they are used as keys in maps that may be updated. I.e. when setting up a map for updateVideoSourceSubscriptions do not construct RemoteVideoSource yourselves or the configuration may or may not be updated.

Link copied to clipboard

VideoContentHint describes the content type of a video source so that downstream encoders, etc. can properly decide on what parameters will work best. These options mirror https://www.w3.org/TR/mst-content-hint/ .

Link copied to clipboard
class VideoFrame(val timestampNs: Long, val buffer: VideoFrameBuffer, val rotation: VideoRotation = VideoRotation.Rotation0)

VideoFrame is a class which contains a VideoFrameBuffer and metadata necessary for transmission Typically produced via a VideoSource and consumed via a VideoSink

Link copied to clipboard

VideoPauseState describes the pause status of a video tile.

Link copied to clipboard

Enum defining video priority for remote video sources. The 'higher' the number the 'higher' the priority for the source when adjusting video quality to adapt to variable network conditions, i.e. Highest will be chosen before High, Medium, etc.

Link copied to clipboard

VideoRenderView is the type of VideoSink used by the VideoTileController

Link copied to clipboard

Customizable video resolution parameters for a remote video source.

Link copied to clipboard

VideoRotation describes the rotation of the video frame buffer in degrees clockwise from intended viewing horizon.

Link copied to clipboard

VideoScalingType describes the scaling type of how video is rendered. Certain types may effect how much of a video is cropped. visibleFraction refers to the minimum amount of a video frame required to be shown per scaling type (e.g. AspectFit indicates showing the whole frame, no cropping).

Link copied to clipboard
interface VideoSink

A VideoSink consumes video frames, typically from a VideoSource. It may process, fork, or render these frames. Typically connected via VideoSource.addVideoSink and disconnected via VideoSource.removeVideoSink

Link copied to clipboard
interface VideoSource

VideoSource is an interface for sources which produce video frames, and can send to a VideoSink. Implementations can be passed to the AudioVideoFacade to be used as the video source sent to remote participants

Link copied to clipboard
class VideoSubscriptionConfiguration(var priority: VideoPriority, var targetResolution: VideoResolution)

Configuration for a specific video source. The values are intentionally mutable so that a map of all current configurations can be kept and updated as needed.

Link copied to clipboard
interface VideoTile : VideoSink

VideoTile is a tile that binds video render view to display the frame into the view.

Link copied to clipboard

VideoTileController handles rendering/creating of new VideoTile.

Link copied to clipboard

VideoTileControllerFacade manages video tile binding, pausing, and resuming as well as subscribing to video tile events by adding a VideoTileObserver.

Link copied to clipboard
Link copied to clipboard

VideoTileObserver handles events related to VideoTile.

Link copied to clipboard
data class VideoTileState(val tileId: Int, val attendeeId: String, var videoStreamContentWidth: Int, var videoStreamContentHeight: Int, var pauseState: VideoPauseState, val isLocalTile: Boolean)

Contains properties related to the current state of the VideoTile