Options
All
  • Public
  • Public/Protected
  • All
Menu

Class DefaultVideoStreamIndex

DefaultVideoStreamIndex implements VideoStreamIndex to facilitate video stream subscription and includes query functions for stream id and attendee id.

Hierarchy

Implements

Index

Constructors

constructor

Properties

Protected currentIndex

currentIndex: SdkIndexFrame = null

Protected currentSubscribeAck

currentSubscribeAck: SdkSubscribeAckFrame = null

Protected groupIdToAttendeeMap

groupIdToAttendeeMap: Map<number, string> = null

Protected indexForSubscribe

indexForSubscribe: SdkIndexFrame = null

Protected logger

logger: Logger

Protected streamToAttendeeMap

streamToAttendeeMap: Map<number, string> = null

Protected streamToExternalUserIdMap

streamToExternalUserIdMap: Map<number, string> = null

Protected subscribeSsrcToGroupMap

subscribeSsrcToGroupMap: Map<number, number> = null

Protected subscribeSsrcToStreamMap

subscribeSsrcToStreamMap: Map<number, number> = null

Protected subscribeStreamToAttendeeMap

subscribeStreamToAttendeeMap: Map<number, string> = null

Protected subscribeStreamToExternalUserIdMap

subscribeStreamToExternalUserIdMap: Map<number, string> = null

Protected subscribeTrackToStreamMap

subscribeTrackToStreamMap: Map<string, number> = null

Methods

StreamIdsInSameGroup

  • StreamIdsInSameGroup(streamId1: number, streamId2: number): boolean

allStreams

allVideoSendingSourcesExcludingSelf

  • allVideoSendingSourcesExcludingSelf(selfAttendeeId: string): VideoSource[]

attendeeIdForGroupId

  • attendeeIdForGroupId(groupId: number): string

attendeeIdForStreamId

  • attendeeIdForStreamId(streamId: number): string

attendeeIdForTrack

  • attendeeIdForTrack(trackId: string): string

convertBpsToKbps

  • convertBpsToKbps(avgBitrateBps: number): number

externalUserIdForTrack

  • externalUserIdForTrack(trackId: string): string

groupIdForSSRC

  • groupIdForSSRC(ssrcId: number): number

groupIdForStreamId

  • groupIdForStreamId(streamId: number): number

highestQualityStreamFromEachGroupExcludingSelf

integrateBitratesFrame

  • integrateBitratesFrame(bitrates: ISdkBitrateFrame): void

integrateIndexFrame

  • integrateIndexFrame(indexFrame: SdkIndexFrame): void

integrateSubscribeAckFrame

  • integrateSubscribeAckFrame(subscribeAck: SdkSubscribeAckFrame): void

integrateUplinkPolicyDecision

  • integrateUplinkPolicyDecision(param: RTCRtpEncodingParameters[]): void

localStreamDescriptions

numberOfParticipants

  • numberOfParticipants(): number

numberOfVideoPublishingParticipantsExcludingSelf

  • numberOfVideoPublishingParticipantsExcludingSelf(selfAttendeeId: string): number

overrideStreamIdMappings

  • overrideStreamIdMappings(previous: number, current: number): void

remoteStreamDescriptions

sendVideoStreamIdFromRid

  • sendVideoStreamIdFromRid(_rid: string): number

streamIdForSSRC

  • streamIdForSSRC(ssrcId: number): number

streamIdForTrack

  • streamIdForTrack(trackId: string): number

streamSelectionUnderBandwidthConstraint

  • streamSelectionUnderBandwidthConstraint(selfAttendeeId: string, largeTileAttendeeIds: Set<string>, smallTileAttendeeIds: Set<string>, bandwidthKbps: number): DefaultVideoStreamIdSet

streamsPausedAtSource

subscribeFrameSent

  • subscribeFrameSent(): void
  • This function caches the currently ingested index frame (and may be eventually renamed). It can use the stored index as a backup for map functions like groupIdForStreamId and can be used for:

    • Maintaining consistent information during a subscribe even if an index is received concurrently
    • Maintaining information about previous senders simulcast streams to enable stream switching, e.g. if a sender is transmitting low/hi and switches to just low, receivers need the previous index to be able to know what group ID the high stream corresponds to.

    Returns void

Generated using TypeDoc