RemoteTrack
Defined in: client-sdk-js/src/track/RemoteTrack.ts:10
A typed wrapper over Node’s EventEmitter.
Extends EventEmitter with declare overrides so that emit, on,
off, etc. are type-safe without introducing circular-reference issues
that arise when using typed-emitter directly in extends clauses
whose event maps reference the class itself.
Runtime behaviour is 100% EventEmitter; this class adds zero runtime
code.
Extends
Section titled “Extends”Extended by
Section titled “Extended by”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new RemoteTrack( kind, source?, mediaStreamTrack): RemoteTrack;Defined in: client-sdk-js/src/track/RemoteTrack.ts:22
Parameters
Section titled “Parameters”source?
Section titled “source?”TrackSource = TrackSource.Unknown
mediaStreamTrack
Section titled “mediaStreamTrack”MediaStreamTrack
Returns
Section titled “Returns”RemoteTrack
Overrides
Section titled “Overrides”Properties
Section titled “Properties”_currentBitrate
Section titled “_currentBitrate”protected _currentBitrate: number = 0;Defined in: client-sdk-js/src/track/Track.ts:43
Inherited from
Section titled “Inherited from”_isMuted
Section titled “_isMuted”protected _isMuted: boolean = false;Defined in: client-sdk-js/src/track/Track.ts:37
Inherited from
Section titled “Inherited from”_mediaStreamTrack
Section titled “_mediaStreamTrack”protected _mediaStreamTrack: MediaStreamTrack;Defined in: client-sdk-js/src/track/Track.ts:31
Inherited from
Section titled “Inherited from”_prevBytes
Section titled “_prevBytes”protected _prevBytes: number = 0;Defined in: client-sdk-js/src/track/Track.ts:47
Previous byte count from the last monitor sample.
Inherited from
Section titled “Inherited from”_prevStatsTime
Section titled “_prevStatsTime”protected _prevStatsTime: number = 0;Defined in: client-sdk-js/src/track/Track.ts:48
Inherited from
Section titled “Inherited from”addListener
Section titled “addListener”addListener: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:37
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”attachedElements
Section titled “attachedElements”attachedElements: HTMLMediaElement[] = [];Defined in: client-sdk-js/src/track/Track.ts:41
Inherited from
Section titled “Inherited from”emit: <E>(event, ...args) => boolean;Defined in: client-sdk-js/src/utils/typedEmitter.ts:17
Type Parameters
Section titled “Type Parameters”E extends
| Muted
| Unmuted
| Ended
| ElementAttached
| ElementDetached
| AudioPlaybackStarted
| AudioPlaybackFailed
| VideoPlaybackStarted
| VideoPlaybackFailed
| VisibilityChanged
| VideoDimensionsChanged
| UpstreamPaused
| UpstreamResumed
| AudioSilenceDetected
| StreamStateChanged
| TimeSyncUpdate
Parameters
Section titled “Parameters”E
…Parameters<TrackEvents[E]>
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”kind: TrackKind;Defined in: client-sdk-js/src/track/Track.ts:27
Inherited from
Section titled “Inherited from”listenerCount
Section titled “listenerCount”listenerCount: (event) => number;Defined in: client-sdk-js/src/utils/typedEmitter.ts:57
Parameters
Section titled “Parameters”string | number
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”listeners
Section titled “listeners”listeners: <E>(event) => E extends keyof TrackEvents ? TrackEvents[E][] : ((...args) => void)[];Defined in: client-sdk-js/src/utils/typedEmitter.ts:49
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
Returns
Section titled “Returns”E extends keyof TrackEvents ? TrackEvents[E][] : ((…args) => void)[]
Inherited from
Section titled “Inherited from”monitorInterval?
Section titled “monitorInterval?”protected monitorInterval?: number;Defined in: client-sdk-js/src/track/Track.ts:44
Inherited from
Section titled “Inherited from”off: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:32
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”on: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:22
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”once: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:27
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”rawListeners
Section titled “rawListeners”rawListeners: <E>(event) => E extends keyof TrackEvents ? TrackEvents[E][] : ((...args) => void)[];Defined in: client-sdk-js/src/utils/typedEmitter.ts:53
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
Returns
Section titled “Returns”E extends keyof TrackEvents ? TrackEvents[E][] : ((…args) => void)[]
Inherited from
Section titled “Inherited from”removeAllListeners
Section titled “removeAllListeners”removeAllListeners: (event?) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:47
Parameters
Section titled “Parameters”event?
Section titled “event?”string | number
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”removeListener
Section titled “removeListener”removeListener: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:42
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”sid?: string;Defined in: client-sdk-js/src/track/Track.ts:29
Inherited from
Section titled “Inherited from”source
Section titled “source”source: TrackSource;Defined in: client-sdk-js/src/track/Track.ts:28
Inherited from
Section titled “Inherited from”defaultMaxListeners
Section titled “defaultMaxListeners”static defaultMaxListeners: number;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:5
Inherited from
Section titled “Inherited from”Accessors
Section titled “Accessors”currentBitrate
Section titled “currentBitrate”Get Signature
Section titled “Get Signature”get currentBitrate(): number;Defined in: client-sdk-js/src/track/Track.ts:77
Current bitrate in bits per second, updated by the monitor.
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”isLocal
Section titled “isLocal”Get Signature
Section titled “Get Signature”get isLocal(): boolean;Defined in: client-sdk-js/src/track/RemoteTrack.ts:30
Returns
Section titled “Returns”boolean
Overrides
Section titled “Overrides”isMuted
Section titled “isMuted”Get Signature
Section titled “Get Signature”get isMuted(): boolean;Defined in: client-sdk-js/src/track/Track.ts:88
Whether the track is currently muted. This reflects the publisher’s intent and is independent of consumer pause state or streamState.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”mediaStreamTrack
Section titled “mediaStreamTrack”Get Signature
Section titled “Get Signature”get mediaStreamTrack(): MediaStreamTrack;Defined in: client-sdk-js/src/track/Track.ts:33
Returns
Section titled “Returns”MediaStreamTrack
Inherited from
Section titled “Inherited from”streamState
Section titled “streamState”Get Signature
Section titled “Get Signature”get streamState(): StreamState;Defined in: client-sdk-js/src/track/Track.ts:98
The current stream state of the track.
StreamState.Active means the server is actively forwarding media;
StreamState.Paused means the server has temporarily stopped forwarding (e.g. bandwidth limits).
This is separate from isMuted, which reflects the publisher’s intent.
Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”Methods
Section titled “Methods”attach()
Section titled “attach()”attach(element?): HTMLMediaElement;Defined in: client-sdk-js/src/track/Track.ts:156
Parameters
Section titled “Parameters”element?
Section titled “element?”HTMLMediaElement
Returns
Section titled “Returns”HTMLMediaElement
Inherited from
Section titled “Inherited from”detach()
Section titled “detach()”detach(element?): HTMLMediaElement[];Defined in: client-sdk-js/src/track/Track.ts:199
Parameters
Section titled “Parameters”element?
Section titled “element?”HTMLMediaElement
Returns
Section titled “Returns”HTMLMediaElement[]
Inherited from
Section titled “Inherited from”detachEndedListener()
Section titled “detachEndedListener()”protected detachEndedListener(track): void;Defined in: client-sdk-js/src/track/Track.ts:72
Detach the base-class ‘ended’ listener from the given track.
Parameters
Section titled “Parameters”MediaStreamTrack
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”eventNames()
Section titled “eventNames()”eventNames(): (string | number)[];Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:7
Returns
Section titled “Returns”(string | number)[]
Inherited from
Section titled “Inherited from”getMaxListeners()
Section titled “getMaxListeners()”getMaxListeners(): number;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:9
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”getPlayoutDelay()
Section titled “getPlayoutDelay()”getPlayoutDelay(): number;Defined in: client-sdk-js/src/track/RemoteTrack.ts:94
Returns the current playout delay (in seconds).
Returns
Section titled “Returns”number
getRTCStatsReport()
Section titled “getRTCStatsReport()”getRTCStatsReport(): Promise<RTCStatsReport | undefined>;Defined in: client-sdk-js/src/track/RemoteTrack.ts:75
Gets the RTCStatsReport for the underlying RTP receiver.
Returns
Section titled “Returns”Promise<RTCStatsReport | undefined>
monitorStats()
Section titled “monitorStats()”protected monitorStats( getStats, reportType, bytesField): Promise<void>;Defined in: client-sdk-js/src/track/Track.ts:130
Samples RTP bytes from a stats report and updates currentBitrate. Shared by local (producer/outbound) and remote (consumer/inbound) tracks: they only differ in which report type and byte field to read.
Parameters
Section titled “Parameters”getStats
Section titled “getStats”() => Promise<RTCStatsReport> | undefined
returns the underlying transport/producer/consumer stats, or undefined when the source is already closed.
reportType
Section titled “reportType”string
the RTC stats report type to aggregate (e.g. outbound-rtp).
bytesField
Section titled “bytesField”string
the byte field name on that report (e.g. bytesSent).
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”onEnded()
Section titled “onEnded()”protected onEnded(): void;Defined in: client-sdk-js/src/track/Track.ts:67
Hook fired when the underlying MediaStreamTrack ends.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onEndedListener()
Section titled “onEndedListener()”protected onEndedListener(): void;Defined in: client-sdk-js/src/track/Track.ts:62
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”prependListener()
Section titled “prependListener()”prependListener(type, listener): this;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:14
Parameters
Section titled “Parameters”string | number
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”prependOnceListener()
Section titled “prependOnceListener()”prependOnceListener(type, listener): this;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:15
Parameters
Section titled “Parameters”string | number
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”setMaxListeners()
Section titled “setMaxListeners()”setMaxListeners(n): this;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:8
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”setPlayoutDelay()
Section titled “setPlayoutDelay()”setPlayoutDelay(delayInSeconds): void;Defined in: client-sdk-js/src/track/RemoteTrack.ts:84
Set a playout delay (in seconds) for this track. Higher values allow more buffering in the browser and add latency.
Parameters
Section titled “Parameters”delayInSeconds
Section titled “delayInSeconds”number
Returns
Section titled “Returns”void
stop()
Section titled “stop()”stop(): void;Defined in: client-sdk-js/src/track/RemoteTrack.ts:53
Stop the remote track.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”listenerCount()
Section titled “listenerCount()”static listenerCount(emitter, type): number;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:4
Parameters
Section titled “Parameters”emitter
Section titled “emitter”EventEmitter
string | number
Returns
Section titled “Returns”number