@whereby.com/media 11.1.2 → 11.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +526 -80
- package/dist/index.d.cts +91 -3
- package/dist/index.d.mts +91 -3
- package/dist/index.d.ts +91 -3
- package/dist/index.mjs +516 -81
- package/dist/legacy-esm.js +516 -81
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -72,6 +72,8 @@ interface SsrcStats {
|
|
|
72
72
|
audioAcceleration?: number;
|
|
73
73
|
sourceHeight?: number;
|
|
74
74
|
jitter?: number;
|
|
75
|
+
remoteReportTimestamp?: number;
|
|
76
|
+
selectedCandidatePairId?: string;
|
|
75
77
|
roundTripTime?: number;
|
|
76
78
|
codec?: string;
|
|
77
79
|
byteCount?: number;
|
|
@@ -252,7 +254,6 @@ interface StatsMonitorState {
|
|
|
252
254
|
getClients: () => StatsClient[];
|
|
253
255
|
lastPressureObserverRecord?: PressureRecord;
|
|
254
256
|
lastUpdateTime: number;
|
|
255
|
-
nextTimeout?: number;
|
|
256
257
|
pressureObserver?: PressureObserver;
|
|
257
258
|
renderedDimensionsByTrack: Record<string, RenderedDimensionsReport>;
|
|
258
259
|
statsByView: Record<string, ViewStats>;
|
|
@@ -278,6 +279,7 @@ declare function subscribeStats(subscription: StatsSubscription, options?: Stats
|
|
|
278
279
|
|
|
279
280
|
declare function captureCandidatePairInfoMetrics(cpMetrics: any, currentCptats: any, prevCptats: any, timeDiff: any, report: any): void;
|
|
280
281
|
declare function captureSsrcInfo(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
282
|
+
declare function getSelectedCandidatePairId(report: any, transportId: string | undefined): string | undefined;
|
|
281
283
|
declare function captureCommonSsrcMetrics(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
282
284
|
declare function captureAudioSsrcMetrics(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
283
285
|
declare function captureVideoSsrcMetrics(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
@@ -427,12 +429,19 @@ type DataConsumerAppData = {
|
|
|
427
429
|
};
|
|
428
430
|
|
|
429
431
|
type VegaAnalytics = {
|
|
432
|
+
avgPreferredLayerSwitchLatencyMs: number | undefined;
|
|
433
|
+
camOutboundCongestedFraction: number | undefined;
|
|
434
|
+
camOutboundRttInflationMs: number | undefined;
|
|
430
435
|
camTrackEndedCount: number;
|
|
436
|
+
highestPreferredLayerChangeCounts: Record<string, number>;
|
|
431
437
|
micTrackEndedCount: number;
|
|
438
|
+
numHighestPreferredLayerChanges: number;
|
|
432
439
|
numIceConnected: number;
|
|
433
440
|
numIceDisconnected: number;
|
|
434
441
|
numIceFailed: number;
|
|
435
442
|
numNewPc: number;
|
|
443
|
+
numPreferredSpatialLayerChanges: number;
|
|
444
|
+
preferredSpatialLayerChangeCounts: Record<string, number>;
|
|
436
445
|
sfuMsFromOfflineToClose: number;
|
|
437
446
|
sfuOfflineToCloseCount: number;
|
|
438
447
|
sfuOfflineWhileConnectedCount: number;
|
|
@@ -453,7 +462,9 @@ type VegaAnalytics = {
|
|
|
453
462
|
vegaWebcamProducerFailed: number;
|
|
454
463
|
};
|
|
455
464
|
|
|
456
|
-
type VegaAnalyticMetric =
|
|
465
|
+
type VegaAnalyticMetric = {
|
|
466
|
+
[K in keyof VegaAnalytics]: VegaAnalytics[K] extends number ? K : never;
|
|
467
|
+
}[keyof VegaAnalytics];
|
|
457
468
|
|
|
458
469
|
type VegaIncrementAnalyticMetric = (metric: VegaAnalyticMetric) => void;
|
|
459
470
|
|
|
@@ -1374,6 +1385,16 @@ declare class BandwidthTester extends EventEmitter {
|
|
|
1374
1385
|
}
|
|
1375
1386
|
|
|
1376
1387
|
declare const MEDIA_JITTER_BUFFER_TARGET = 400;
|
|
1388
|
+
declare const INITIAL_CONSUMER_SPATIAL_LAYER = 1;
|
|
1389
|
+
declare const INITIAL_HIGHEST_PREFERRED_LAYER = 1;
|
|
1390
|
+
declare const LOWEST_SVC_LAYER_MAX_BITRATE = 100000;
|
|
1391
|
+
declare const MIDDLE_SVC_LAYER_MAX_BITRATE = 500000;
|
|
1392
|
+
declare const PREFERRED_LAYER_SWITCH_POLL_INTERVAL_MS = 100;
|
|
1393
|
+
declare const PREFERRED_LAYER_SWITCH_WATCH_TIMEOUT_MS = 10000;
|
|
1394
|
+
declare const MAX_CONCURRENT_PREFERRED_LAYER_SWITCH_WATCHES = 5;
|
|
1395
|
+
declare const CONGESTED_RTT_INFLATION_MS = 100;
|
|
1396
|
+
declare const CONGESTED_FRACTION_LOST = 0.02;
|
|
1397
|
+
declare const CAM_SAMPLES_SKIPPED_AFTER_CANDIDATE_PAIR_CHANGE = 2;
|
|
1377
1398
|
|
|
1378
1399
|
declare function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }: GetMediaConstraintsOptions): any;
|
|
1379
1400
|
declare function getConstraints({ devices, videoId, audioId, options, type }: GetConstraintsOptions): any;
|
|
@@ -1932,6 +1953,12 @@ declare const standardDeviation: (arr: any[]) => {
|
|
|
1932
1953
|
};
|
|
1933
1954
|
declare const variance: (arr: any[], usePopulation?: boolean) => number;
|
|
1934
1955
|
|
|
1956
|
+
declare function createMetricStats(): {
|
|
1957
|
+
count: number;
|
|
1958
|
+
sum: number;
|
|
1959
|
+
};
|
|
1960
|
+
type MetricStats = ReturnType<typeof createMetricStats>;
|
|
1961
|
+
|
|
1935
1962
|
type ConnectionInfo = {
|
|
1936
1963
|
host: string;
|
|
1937
1964
|
dc: string;
|
|
@@ -1970,6 +1997,9 @@ declare function createVegaConnectionManager(config: {
|
|
|
1970
1997
|
networkIsPossiblyDown: () => void;
|
|
1971
1998
|
};
|
|
1972
1999
|
|
|
2000
|
+
type RtpEncodingParametersWithScalabilityMode = RTCRtpEncodingParameters & {
|
|
2001
|
+
scalabilityMode?: string;
|
|
2002
|
+
};
|
|
1973
2003
|
declare class VegaRtcManager implements RtcManager {
|
|
1974
2004
|
_selfId: string;
|
|
1975
2005
|
_room: any;
|
|
@@ -2005,7 +2035,35 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2005
2035
|
_micScoreProducer: any;
|
|
2006
2036
|
_micScoreProducerPromise: any;
|
|
2007
2037
|
_webcamProducer: any;
|
|
2038
|
+
_webcamProducerOriginalSvcScalabilityMode: string | undefined;
|
|
2039
|
+
_webcamProducerOriginalSvcMaxBitrate: number | undefined;
|
|
2040
|
+
_webcamProducerHighestPreferredLayer: number | undefined;
|
|
2041
|
+
_highestPreferredLayerUpdate: Promise<void> | null;
|
|
2042
|
+
_highestPreferredLayerUpdatePending: boolean;
|
|
2008
2043
|
_webcamProducerPromise: any;
|
|
2044
|
+
_preferredLayerSwitchLatencyStats: MetricStats;
|
|
2045
|
+
_preferredLayerSwitchWatches: Map<string, {
|
|
2046
|
+
stop: () => void;
|
|
2047
|
+
}>;
|
|
2048
|
+
_statsSubscription: {
|
|
2049
|
+
stop: () => void;
|
|
2050
|
+
} | null;
|
|
2051
|
+
_lastSeenRemoteReportTimestamps: Map<string, number>;
|
|
2052
|
+
_camOutboundCandidatePairId: string | undefined;
|
|
2053
|
+
_camOutboundSamplesToSkip: number;
|
|
2054
|
+
_camOutboundPathRtt: {
|
|
2055
|
+
sumMs: number;
|
|
2056
|
+
count: number;
|
|
2057
|
+
minMs: number | undefined;
|
|
2058
|
+
};
|
|
2059
|
+
_camOutboundRttInflation: {
|
|
2060
|
+
sumMs: number;
|
|
2061
|
+
count: number;
|
|
2062
|
+
};
|
|
2063
|
+
_camOutboundSamples: {
|
|
2064
|
+
total: number;
|
|
2065
|
+
congested: number;
|
|
2066
|
+
};
|
|
2009
2067
|
_webcamPaused: any;
|
|
2010
2068
|
_screenVideoProducer: any;
|
|
2011
2069
|
_screenVideoProducerPromise: any;
|
|
@@ -2110,6 +2168,22 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2110
2168
|
width: number;
|
|
2111
2169
|
height: number;
|
|
2112
2170
|
}): void;
|
|
2171
|
+
_applyStreamResolution(streamId: string): void;
|
|
2172
|
+
_watchForPreferredLayerSwitch(consumerId: string, consumer: any, { toHigherLayer }: {
|
|
2173
|
+
toHigherLayer: boolean;
|
|
2174
|
+
}): void;
|
|
2175
|
+
_getConsumerFrameSize(consumer: any): Promise<{
|
|
2176
|
+
width?: number;
|
|
2177
|
+
height?: number;
|
|
2178
|
+
} | undefined>;
|
|
2179
|
+
_recordPreferredLayerSwitchLatency(latencyMs: number): void;
|
|
2180
|
+
_onUpdatedStats(statsByView: Record<string, any>): void;
|
|
2181
|
+
_recordCamOutboundSample(newRemoteReports: SsrcStats[]): void;
|
|
2182
|
+
_followCamOutboundCandidatePair({ selectedCandidatePairId }: SsrcStats): void;
|
|
2183
|
+
_finishCamOutboundRttPath(): void;
|
|
2184
|
+
_updateCamOutboundAnalytics(): void;
|
|
2185
|
+
_startWebcamStatsSubscription(): void;
|
|
2186
|
+
_stopWebcamStatsSubscription(): void;
|
|
2113
2187
|
close(): void;
|
|
2114
2188
|
disconnectAll(): void;
|
|
2115
2189
|
sendStatsCustomEvent(eventName: string, data?: any): void;
|
|
@@ -2120,6 +2194,7 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2120
2194
|
_monitorVideoTrack(track: MediaStreamTrack): void;
|
|
2121
2195
|
_onMessage(message: any): Promise<void>;
|
|
2122
2196
|
_onConsumerReady(options: ConsumerOptions<ConsumerAppData>): Promise<void>;
|
|
2197
|
+
_reapplyStreamResolutions(): void;
|
|
2123
2198
|
_onConsumerClosed({ consumerId, reason }: {
|
|
2124
2199
|
consumerId: string;
|
|
2125
2200
|
reason: string;
|
|
@@ -2140,6 +2215,19 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2140
2215
|
kind: string;
|
|
2141
2216
|
score: number;
|
|
2142
2217
|
}): void;
|
|
2218
|
+
_getSvcEncodingUpdate(encoding: RtpEncodingParametersWithScalabilityMode, spatialLayer: number): {
|
|
2219
|
+
scalabilityMode: string;
|
|
2220
|
+
scaleResolutionDownBy: number;
|
|
2221
|
+
maxBitrate: number | undefined;
|
|
2222
|
+
} | undefined;
|
|
2223
|
+
_onChangedHighestPreferredLayer({ producerId, spatialLayer }: {
|
|
2224
|
+
producerId: string;
|
|
2225
|
+
spatialLayer: number;
|
|
2226
|
+
}): Promise<void>;
|
|
2227
|
+
_syncWebcamEncoderToHighestPreferredLayer(): Promise<void>;
|
|
2228
|
+
_applyPendingHighestPreferredLayerUpdates(): Promise<void>;
|
|
2229
|
+
_applyHighestPreferredLayerToWebcamEncoder(): Promise<void>;
|
|
2230
|
+
_incrementHistogramCount(histogram: Record<string, number>, key: string): void;
|
|
2143
2231
|
_onDataConsumerReady(options: DataConsumerOptions<DataConsumerAppData>): Promise<void>;
|
|
2144
2232
|
_onDataConsumerClosed({ dataConsumerId, reason }: {
|
|
2145
2233
|
dataConsumerId: string;
|
|
@@ -2159,5 +2247,5 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2159
2247
|
hasClient(clientId: string): boolean;
|
|
2160
2248
|
}
|
|
2161
2249
|
|
|
2162
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, EVENTS, FILE_SHARE_ERROR_CODES, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getInitialStream, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isFileShareError, isMobile, issueDetectorOrMetricEnabled, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, updateRenderedDimensions, variance };
|
|
2250
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, CAM_SAMPLES_SKIPPED_AFTER_CANDIDATE_PAIR_CHANGE, CONGESTED_FRACTION_LOST, CONGESTED_RTT_INFLATION_MS, EVENTS, FILE_SHARE_ERROR_CODES, INITIAL_CONSUMER_SPATIAL_LAYER, INITIAL_HIGHEST_PREFERRED_LAYER, KNOCK_MESSAGES, KalmanFilter, LOWEST_SVC_LAYER_MAX_BITRATE, Logger, MAX_CONCURRENT_PREFERRED_LAYER_SWITCH_WATCHES, MEDIA_JITTER_BUFFER_TARGET, MIDDLE_SVC_LAYER_MAX_BITRATE, NoDevicesError, P2pRtcManager, PREFERRED_LAYER_SWITCH_POLL_INTERVAL_MS, PREFERRED_LAYER_SWITCH_WATCH_TIMEOUT_MS, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getInitialStream, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getSelectedCandidatePairId, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isFileShareError, isMobile, issueDetectorOrMetricEnabled, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, updateRenderedDimensions, variance };
|
|
2163
2251
|
export type { AddCameraStreamOptions, AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdateRequest, BreakoutSessionUpdatedEvent, BuildDeviceListOptions, CannotJoinUnclaimedRoomError, ChatFileShare, ChatMessage, ChatMessageError, ChatMessageRemoved, ChatMessageRequest, ClearableTimeout, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, ConnectionStatus, Credentials, FileShareErrorCode, FileUploadUrl, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetInitialStreamOptions, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, GetUserMediaAttempt, GetUserMediaAttemptOutcome, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockOnHoldEvent, KnockRejectedEvent, KnockResponse, KnockResponseSender, KnockRoomRequest, KnockerLeftEvent, LiveCaptionEvent, LiveCaptionsStartedEvent, LiveCaptionsStoppedEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, MediaPrefs, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RemoveScreenshareStreamOptions, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomEmptyError, RoomFullError, RoomJoinPermissionDeniedError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, ScreenshareEnableRequest, ScreenshareEnableRequestedEvent, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceCandidateMessage, SignalIceEndOfCandidatesMessage, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRTCSessionDescription, SignalReadyToReceiveOfferMessage, SignalRequests, SignalRoom, SignalSDPMessage, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UniqueRoleAlreadyInRoomError, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaConnectionOptions, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, WebRTCProvider };
|
package/dist/index.d.mts
CHANGED
|
@@ -72,6 +72,8 @@ interface SsrcStats {
|
|
|
72
72
|
audioAcceleration?: number;
|
|
73
73
|
sourceHeight?: number;
|
|
74
74
|
jitter?: number;
|
|
75
|
+
remoteReportTimestamp?: number;
|
|
76
|
+
selectedCandidatePairId?: string;
|
|
75
77
|
roundTripTime?: number;
|
|
76
78
|
codec?: string;
|
|
77
79
|
byteCount?: number;
|
|
@@ -252,7 +254,6 @@ interface StatsMonitorState {
|
|
|
252
254
|
getClients: () => StatsClient[];
|
|
253
255
|
lastPressureObserverRecord?: PressureRecord;
|
|
254
256
|
lastUpdateTime: number;
|
|
255
|
-
nextTimeout?: number;
|
|
256
257
|
pressureObserver?: PressureObserver;
|
|
257
258
|
renderedDimensionsByTrack: Record<string, RenderedDimensionsReport>;
|
|
258
259
|
statsByView: Record<string, ViewStats>;
|
|
@@ -278,6 +279,7 @@ declare function subscribeStats(subscription: StatsSubscription, options?: Stats
|
|
|
278
279
|
|
|
279
280
|
declare function captureCandidatePairInfoMetrics(cpMetrics: any, currentCptats: any, prevCptats: any, timeDiff: any, report: any): void;
|
|
280
281
|
declare function captureSsrcInfo(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
282
|
+
declare function getSelectedCandidatePairId(report: any, transportId: string | undefined): string | undefined;
|
|
281
283
|
declare function captureCommonSsrcMetrics(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
282
284
|
declare function captureAudioSsrcMetrics(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
283
285
|
declare function captureVideoSsrcMetrics(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
@@ -427,12 +429,19 @@ type DataConsumerAppData = {
|
|
|
427
429
|
};
|
|
428
430
|
|
|
429
431
|
type VegaAnalytics = {
|
|
432
|
+
avgPreferredLayerSwitchLatencyMs: number | undefined;
|
|
433
|
+
camOutboundCongestedFraction: number | undefined;
|
|
434
|
+
camOutboundRttInflationMs: number | undefined;
|
|
430
435
|
camTrackEndedCount: number;
|
|
436
|
+
highestPreferredLayerChangeCounts: Record<string, number>;
|
|
431
437
|
micTrackEndedCount: number;
|
|
438
|
+
numHighestPreferredLayerChanges: number;
|
|
432
439
|
numIceConnected: number;
|
|
433
440
|
numIceDisconnected: number;
|
|
434
441
|
numIceFailed: number;
|
|
435
442
|
numNewPc: number;
|
|
443
|
+
numPreferredSpatialLayerChanges: number;
|
|
444
|
+
preferredSpatialLayerChangeCounts: Record<string, number>;
|
|
436
445
|
sfuMsFromOfflineToClose: number;
|
|
437
446
|
sfuOfflineToCloseCount: number;
|
|
438
447
|
sfuOfflineWhileConnectedCount: number;
|
|
@@ -453,7 +462,9 @@ type VegaAnalytics = {
|
|
|
453
462
|
vegaWebcamProducerFailed: number;
|
|
454
463
|
};
|
|
455
464
|
|
|
456
|
-
type VegaAnalyticMetric =
|
|
465
|
+
type VegaAnalyticMetric = {
|
|
466
|
+
[K in keyof VegaAnalytics]: VegaAnalytics[K] extends number ? K : never;
|
|
467
|
+
}[keyof VegaAnalytics];
|
|
457
468
|
|
|
458
469
|
type VegaIncrementAnalyticMetric = (metric: VegaAnalyticMetric) => void;
|
|
459
470
|
|
|
@@ -1374,6 +1385,16 @@ declare class BandwidthTester extends EventEmitter {
|
|
|
1374
1385
|
}
|
|
1375
1386
|
|
|
1376
1387
|
declare const MEDIA_JITTER_BUFFER_TARGET = 400;
|
|
1388
|
+
declare const INITIAL_CONSUMER_SPATIAL_LAYER = 1;
|
|
1389
|
+
declare const INITIAL_HIGHEST_PREFERRED_LAYER = 1;
|
|
1390
|
+
declare const LOWEST_SVC_LAYER_MAX_BITRATE = 100000;
|
|
1391
|
+
declare const MIDDLE_SVC_LAYER_MAX_BITRATE = 500000;
|
|
1392
|
+
declare const PREFERRED_LAYER_SWITCH_POLL_INTERVAL_MS = 100;
|
|
1393
|
+
declare const PREFERRED_LAYER_SWITCH_WATCH_TIMEOUT_MS = 10000;
|
|
1394
|
+
declare const MAX_CONCURRENT_PREFERRED_LAYER_SWITCH_WATCHES = 5;
|
|
1395
|
+
declare const CONGESTED_RTT_INFLATION_MS = 100;
|
|
1396
|
+
declare const CONGESTED_FRACTION_LOST = 0.02;
|
|
1397
|
+
declare const CAM_SAMPLES_SKIPPED_AFTER_CANDIDATE_PAIR_CHANGE = 2;
|
|
1377
1398
|
|
|
1378
1399
|
declare function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }: GetMediaConstraintsOptions): any;
|
|
1379
1400
|
declare function getConstraints({ devices, videoId, audioId, options, type }: GetConstraintsOptions): any;
|
|
@@ -1932,6 +1953,12 @@ declare const standardDeviation: (arr: any[]) => {
|
|
|
1932
1953
|
};
|
|
1933
1954
|
declare const variance: (arr: any[], usePopulation?: boolean) => number;
|
|
1934
1955
|
|
|
1956
|
+
declare function createMetricStats(): {
|
|
1957
|
+
count: number;
|
|
1958
|
+
sum: number;
|
|
1959
|
+
};
|
|
1960
|
+
type MetricStats = ReturnType<typeof createMetricStats>;
|
|
1961
|
+
|
|
1935
1962
|
type ConnectionInfo = {
|
|
1936
1963
|
host: string;
|
|
1937
1964
|
dc: string;
|
|
@@ -1970,6 +1997,9 @@ declare function createVegaConnectionManager(config: {
|
|
|
1970
1997
|
networkIsPossiblyDown: () => void;
|
|
1971
1998
|
};
|
|
1972
1999
|
|
|
2000
|
+
type RtpEncodingParametersWithScalabilityMode = RTCRtpEncodingParameters & {
|
|
2001
|
+
scalabilityMode?: string;
|
|
2002
|
+
};
|
|
1973
2003
|
declare class VegaRtcManager implements RtcManager {
|
|
1974
2004
|
_selfId: string;
|
|
1975
2005
|
_room: any;
|
|
@@ -2005,7 +2035,35 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2005
2035
|
_micScoreProducer: any;
|
|
2006
2036
|
_micScoreProducerPromise: any;
|
|
2007
2037
|
_webcamProducer: any;
|
|
2038
|
+
_webcamProducerOriginalSvcScalabilityMode: string | undefined;
|
|
2039
|
+
_webcamProducerOriginalSvcMaxBitrate: number | undefined;
|
|
2040
|
+
_webcamProducerHighestPreferredLayer: number | undefined;
|
|
2041
|
+
_highestPreferredLayerUpdate: Promise<void> | null;
|
|
2042
|
+
_highestPreferredLayerUpdatePending: boolean;
|
|
2008
2043
|
_webcamProducerPromise: any;
|
|
2044
|
+
_preferredLayerSwitchLatencyStats: MetricStats;
|
|
2045
|
+
_preferredLayerSwitchWatches: Map<string, {
|
|
2046
|
+
stop: () => void;
|
|
2047
|
+
}>;
|
|
2048
|
+
_statsSubscription: {
|
|
2049
|
+
stop: () => void;
|
|
2050
|
+
} | null;
|
|
2051
|
+
_lastSeenRemoteReportTimestamps: Map<string, number>;
|
|
2052
|
+
_camOutboundCandidatePairId: string | undefined;
|
|
2053
|
+
_camOutboundSamplesToSkip: number;
|
|
2054
|
+
_camOutboundPathRtt: {
|
|
2055
|
+
sumMs: number;
|
|
2056
|
+
count: number;
|
|
2057
|
+
minMs: number | undefined;
|
|
2058
|
+
};
|
|
2059
|
+
_camOutboundRttInflation: {
|
|
2060
|
+
sumMs: number;
|
|
2061
|
+
count: number;
|
|
2062
|
+
};
|
|
2063
|
+
_camOutboundSamples: {
|
|
2064
|
+
total: number;
|
|
2065
|
+
congested: number;
|
|
2066
|
+
};
|
|
2009
2067
|
_webcamPaused: any;
|
|
2010
2068
|
_screenVideoProducer: any;
|
|
2011
2069
|
_screenVideoProducerPromise: any;
|
|
@@ -2110,6 +2168,22 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2110
2168
|
width: number;
|
|
2111
2169
|
height: number;
|
|
2112
2170
|
}): void;
|
|
2171
|
+
_applyStreamResolution(streamId: string): void;
|
|
2172
|
+
_watchForPreferredLayerSwitch(consumerId: string, consumer: any, { toHigherLayer }: {
|
|
2173
|
+
toHigherLayer: boolean;
|
|
2174
|
+
}): void;
|
|
2175
|
+
_getConsumerFrameSize(consumer: any): Promise<{
|
|
2176
|
+
width?: number;
|
|
2177
|
+
height?: number;
|
|
2178
|
+
} | undefined>;
|
|
2179
|
+
_recordPreferredLayerSwitchLatency(latencyMs: number): void;
|
|
2180
|
+
_onUpdatedStats(statsByView: Record<string, any>): void;
|
|
2181
|
+
_recordCamOutboundSample(newRemoteReports: SsrcStats[]): void;
|
|
2182
|
+
_followCamOutboundCandidatePair({ selectedCandidatePairId }: SsrcStats): void;
|
|
2183
|
+
_finishCamOutboundRttPath(): void;
|
|
2184
|
+
_updateCamOutboundAnalytics(): void;
|
|
2185
|
+
_startWebcamStatsSubscription(): void;
|
|
2186
|
+
_stopWebcamStatsSubscription(): void;
|
|
2113
2187
|
close(): void;
|
|
2114
2188
|
disconnectAll(): void;
|
|
2115
2189
|
sendStatsCustomEvent(eventName: string, data?: any): void;
|
|
@@ -2120,6 +2194,7 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2120
2194
|
_monitorVideoTrack(track: MediaStreamTrack): void;
|
|
2121
2195
|
_onMessage(message: any): Promise<void>;
|
|
2122
2196
|
_onConsumerReady(options: ConsumerOptions<ConsumerAppData>): Promise<void>;
|
|
2197
|
+
_reapplyStreamResolutions(): void;
|
|
2123
2198
|
_onConsumerClosed({ consumerId, reason }: {
|
|
2124
2199
|
consumerId: string;
|
|
2125
2200
|
reason: string;
|
|
@@ -2140,6 +2215,19 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2140
2215
|
kind: string;
|
|
2141
2216
|
score: number;
|
|
2142
2217
|
}): void;
|
|
2218
|
+
_getSvcEncodingUpdate(encoding: RtpEncodingParametersWithScalabilityMode, spatialLayer: number): {
|
|
2219
|
+
scalabilityMode: string;
|
|
2220
|
+
scaleResolutionDownBy: number;
|
|
2221
|
+
maxBitrate: number | undefined;
|
|
2222
|
+
} | undefined;
|
|
2223
|
+
_onChangedHighestPreferredLayer({ producerId, spatialLayer }: {
|
|
2224
|
+
producerId: string;
|
|
2225
|
+
spatialLayer: number;
|
|
2226
|
+
}): Promise<void>;
|
|
2227
|
+
_syncWebcamEncoderToHighestPreferredLayer(): Promise<void>;
|
|
2228
|
+
_applyPendingHighestPreferredLayerUpdates(): Promise<void>;
|
|
2229
|
+
_applyHighestPreferredLayerToWebcamEncoder(): Promise<void>;
|
|
2230
|
+
_incrementHistogramCount(histogram: Record<string, number>, key: string): void;
|
|
2143
2231
|
_onDataConsumerReady(options: DataConsumerOptions<DataConsumerAppData>): Promise<void>;
|
|
2144
2232
|
_onDataConsumerClosed({ dataConsumerId, reason }: {
|
|
2145
2233
|
dataConsumerId: string;
|
|
@@ -2159,5 +2247,5 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2159
2247
|
hasClient(clientId: string): boolean;
|
|
2160
2248
|
}
|
|
2161
2249
|
|
|
2162
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, EVENTS, FILE_SHARE_ERROR_CODES, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getInitialStream, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isFileShareError, isMobile, issueDetectorOrMetricEnabled, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, updateRenderedDimensions, variance };
|
|
2250
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, CAM_SAMPLES_SKIPPED_AFTER_CANDIDATE_PAIR_CHANGE, CONGESTED_FRACTION_LOST, CONGESTED_RTT_INFLATION_MS, EVENTS, FILE_SHARE_ERROR_CODES, INITIAL_CONSUMER_SPATIAL_LAYER, INITIAL_HIGHEST_PREFERRED_LAYER, KNOCK_MESSAGES, KalmanFilter, LOWEST_SVC_LAYER_MAX_BITRATE, Logger, MAX_CONCURRENT_PREFERRED_LAYER_SWITCH_WATCHES, MEDIA_JITTER_BUFFER_TARGET, MIDDLE_SVC_LAYER_MAX_BITRATE, NoDevicesError, P2pRtcManager, PREFERRED_LAYER_SWITCH_POLL_INTERVAL_MS, PREFERRED_LAYER_SWITCH_WATCH_TIMEOUT_MS, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getInitialStream, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getSelectedCandidatePairId, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isFileShareError, isMobile, issueDetectorOrMetricEnabled, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, updateRenderedDimensions, variance };
|
|
2163
2251
|
export type { AddCameraStreamOptions, AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdateRequest, BreakoutSessionUpdatedEvent, BuildDeviceListOptions, CannotJoinUnclaimedRoomError, ChatFileShare, ChatMessage, ChatMessageError, ChatMessageRemoved, ChatMessageRequest, ClearableTimeout, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, ConnectionStatus, Credentials, FileShareErrorCode, FileUploadUrl, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetInitialStreamOptions, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, GetUserMediaAttempt, GetUserMediaAttemptOutcome, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockOnHoldEvent, KnockRejectedEvent, KnockResponse, KnockResponseSender, KnockRoomRequest, KnockerLeftEvent, LiveCaptionEvent, LiveCaptionsStartedEvent, LiveCaptionsStoppedEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, MediaPrefs, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RemoveScreenshareStreamOptions, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomEmptyError, RoomFullError, RoomJoinPermissionDeniedError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, ScreenshareEnableRequest, ScreenshareEnableRequestedEvent, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceCandidateMessage, SignalIceEndOfCandidatesMessage, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRTCSessionDescription, SignalReadyToReceiveOfferMessage, SignalRequests, SignalRoom, SignalSDPMessage, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UniqueRoleAlreadyInRoomError, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaConnectionOptions, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, WebRTCProvider };
|
package/dist/index.d.ts
CHANGED
|
@@ -72,6 +72,8 @@ interface SsrcStats {
|
|
|
72
72
|
audioAcceleration?: number;
|
|
73
73
|
sourceHeight?: number;
|
|
74
74
|
jitter?: number;
|
|
75
|
+
remoteReportTimestamp?: number;
|
|
76
|
+
selectedCandidatePairId?: string;
|
|
75
77
|
roundTripTime?: number;
|
|
76
78
|
codec?: string;
|
|
77
79
|
byteCount?: number;
|
|
@@ -252,7 +254,6 @@ interface StatsMonitorState {
|
|
|
252
254
|
getClients: () => StatsClient[];
|
|
253
255
|
lastPressureObserverRecord?: PressureRecord;
|
|
254
256
|
lastUpdateTime: number;
|
|
255
|
-
nextTimeout?: number;
|
|
256
257
|
pressureObserver?: PressureObserver;
|
|
257
258
|
renderedDimensionsByTrack: Record<string, RenderedDimensionsReport>;
|
|
258
259
|
statsByView: Record<string, ViewStats>;
|
|
@@ -278,6 +279,7 @@ declare function subscribeStats(subscription: StatsSubscription, options?: Stats
|
|
|
278
279
|
|
|
279
280
|
declare function captureCandidatePairInfoMetrics(cpMetrics: any, currentCptats: any, prevCptats: any, timeDiff: any, report: any): void;
|
|
280
281
|
declare function captureSsrcInfo(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
282
|
+
declare function getSelectedCandidatePairId(report: any, transportId: string | undefined): string | undefined;
|
|
281
283
|
declare function captureCommonSsrcMetrics(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
282
284
|
declare function captureAudioSsrcMetrics(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
283
285
|
declare function captureVideoSsrcMetrics(ssrcMetrics: any, currentSsrcStats: any, prevSsrcStats: any, timeDiff: any, report: any): void;
|
|
@@ -427,12 +429,19 @@ type DataConsumerAppData = {
|
|
|
427
429
|
};
|
|
428
430
|
|
|
429
431
|
type VegaAnalytics = {
|
|
432
|
+
avgPreferredLayerSwitchLatencyMs: number | undefined;
|
|
433
|
+
camOutboundCongestedFraction: number | undefined;
|
|
434
|
+
camOutboundRttInflationMs: number | undefined;
|
|
430
435
|
camTrackEndedCount: number;
|
|
436
|
+
highestPreferredLayerChangeCounts: Record<string, number>;
|
|
431
437
|
micTrackEndedCount: number;
|
|
438
|
+
numHighestPreferredLayerChanges: number;
|
|
432
439
|
numIceConnected: number;
|
|
433
440
|
numIceDisconnected: number;
|
|
434
441
|
numIceFailed: number;
|
|
435
442
|
numNewPc: number;
|
|
443
|
+
numPreferredSpatialLayerChanges: number;
|
|
444
|
+
preferredSpatialLayerChangeCounts: Record<string, number>;
|
|
436
445
|
sfuMsFromOfflineToClose: number;
|
|
437
446
|
sfuOfflineToCloseCount: number;
|
|
438
447
|
sfuOfflineWhileConnectedCount: number;
|
|
@@ -453,7 +462,9 @@ type VegaAnalytics = {
|
|
|
453
462
|
vegaWebcamProducerFailed: number;
|
|
454
463
|
};
|
|
455
464
|
|
|
456
|
-
type VegaAnalyticMetric =
|
|
465
|
+
type VegaAnalyticMetric = {
|
|
466
|
+
[K in keyof VegaAnalytics]: VegaAnalytics[K] extends number ? K : never;
|
|
467
|
+
}[keyof VegaAnalytics];
|
|
457
468
|
|
|
458
469
|
type VegaIncrementAnalyticMetric = (metric: VegaAnalyticMetric) => void;
|
|
459
470
|
|
|
@@ -1374,6 +1385,16 @@ declare class BandwidthTester extends EventEmitter {
|
|
|
1374
1385
|
}
|
|
1375
1386
|
|
|
1376
1387
|
declare const MEDIA_JITTER_BUFFER_TARGET = 400;
|
|
1388
|
+
declare const INITIAL_CONSUMER_SPATIAL_LAYER = 1;
|
|
1389
|
+
declare const INITIAL_HIGHEST_PREFERRED_LAYER = 1;
|
|
1390
|
+
declare const LOWEST_SVC_LAYER_MAX_BITRATE = 100000;
|
|
1391
|
+
declare const MIDDLE_SVC_LAYER_MAX_BITRATE = 500000;
|
|
1392
|
+
declare const PREFERRED_LAYER_SWITCH_POLL_INTERVAL_MS = 100;
|
|
1393
|
+
declare const PREFERRED_LAYER_SWITCH_WATCH_TIMEOUT_MS = 10000;
|
|
1394
|
+
declare const MAX_CONCURRENT_PREFERRED_LAYER_SWITCH_WATCHES = 5;
|
|
1395
|
+
declare const CONGESTED_RTT_INFLATION_MS = 100;
|
|
1396
|
+
declare const CONGESTED_FRACTION_LOST = 0.02;
|
|
1397
|
+
declare const CAM_SAMPLES_SKIPPED_AFTER_CANDIDATE_PAIR_CHANGE = 2;
|
|
1377
1398
|
|
|
1378
1399
|
declare function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }: GetMediaConstraintsOptions): any;
|
|
1379
1400
|
declare function getConstraints({ devices, videoId, audioId, options, type }: GetConstraintsOptions): any;
|
|
@@ -1932,6 +1953,12 @@ declare const standardDeviation: (arr: any[]) => {
|
|
|
1932
1953
|
};
|
|
1933
1954
|
declare const variance: (arr: any[], usePopulation?: boolean) => number;
|
|
1934
1955
|
|
|
1956
|
+
declare function createMetricStats(): {
|
|
1957
|
+
count: number;
|
|
1958
|
+
sum: number;
|
|
1959
|
+
};
|
|
1960
|
+
type MetricStats = ReturnType<typeof createMetricStats>;
|
|
1961
|
+
|
|
1935
1962
|
type ConnectionInfo = {
|
|
1936
1963
|
host: string;
|
|
1937
1964
|
dc: string;
|
|
@@ -1970,6 +1997,9 @@ declare function createVegaConnectionManager(config: {
|
|
|
1970
1997
|
networkIsPossiblyDown: () => void;
|
|
1971
1998
|
};
|
|
1972
1999
|
|
|
2000
|
+
type RtpEncodingParametersWithScalabilityMode = RTCRtpEncodingParameters & {
|
|
2001
|
+
scalabilityMode?: string;
|
|
2002
|
+
};
|
|
1973
2003
|
declare class VegaRtcManager implements RtcManager {
|
|
1974
2004
|
_selfId: string;
|
|
1975
2005
|
_room: any;
|
|
@@ -2005,7 +2035,35 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2005
2035
|
_micScoreProducer: any;
|
|
2006
2036
|
_micScoreProducerPromise: any;
|
|
2007
2037
|
_webcamProducer: any;
|
|
2038
|
+
_webcamProducerOriginalSvcScalabilityMode: string | undefined;
|
|
2039
|
+
_webcamProducerOriginalSvcMaxBitrate: number | undefined;
|
|
2040
|
+
_webcamProducerHighestPreferredLayer: number | undefined;
|
|
2041
|
+
_highestPreferredLayerUpdate: Promise<void> | null;
|
|
2042
|
+
_highestPreferredLayerUpdatePending: boolean;
|
|
2008
2043
|
_webcamProducerPromise: any;
|
|
2044
|
+
_preferredLayerSwitchLatencyStats: MetricStats;
|
|
2045
|
+
_preferredLayerSwitchWatches: Map<string, {
|
|
2046
|
+
stop: () => void;
|
|
2047
|
+
}>;
|
|
2048
|
+
_statsSubscription: {
|
|
2049
|
+
stop: () => void;
|
|
2050
|
+
} | null;
|
|
2051
|
+
_lastSeenRemoteReportTimestamps: Map<string, number>;
|
|
2052
|
+
_camOutboundCandidatePairId: string | undefined;
|
|
2053
|
+
_camOutboundSamplesToSkip: number;
|
|
2054
|
+
_camOutboundPathRtt: {
|
|
2055
|
+
sumMs: number;
|
|
2056
|
+
count: number;
|
|
2057
|
+
minMs: number | undefined;
|
|
2058
|
+
};
|
|
2059
|
+
_camOutboundRttInflation: {
|
|
2060
|
+
sumMs: number;
|
|
2061
|
+
count: number;
|
|
2062
|
+
};
|
|
2063
|
+
_camOutboundSamples: {
|
|
2064
|
+
total: number;
|
|
2065
|
+
congested: number;
|
|
2066
|
+
};
|
|
2009
2067
|
_webcamPaused: any;
|
|
2010
2068
|
_screenVideoProducer: any;
|
|
2011
2069
|
_screenVideoProducerPromise: any;
|
|
@@ -2110,6 +2168,22 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2110
2168
|
width: number;
|
|
2111
2169
|
height: number;
|
|
2112
2170
|
}): void;
|
|
2171
|
+
_applyStreamResolution(streamId: string): void;
|
|
2172
|
+
_watchForPreferredLayerSwitch(consumerId: string, consumer: any, { toHigherLayer }: {
|
|
2173
|
+
toHigherLayer: boolean;
|
|
2174
|
+
}): void;
|
|
2175
|
+
_getConsumerFrameSize(consumer: any): Promise<{
|
|
2176
|
+
width?: number;
|
|
2177
|
+
height?: number;
|
|
2178
|
+
} | undefined>;
|
|
2179
|
+
_recordPreferredLayerSwitchLatency(latencyMs: number): void;
|
|
2180
|
+
_onUpdatedStats(statsByView: Record<string, any>): void;
|
|
2181
|
+
_recordCamOutboundSample(newRemoteReports: SsrcStats[]): void;
|
|
2182
|
+
_followCamOutboundCandidatePair({ selectedCandidatePairId }: SsrcStats): void;
|
|
2183
|
+
_finishCamOutboundRttPath(): void;
|
|
2184
|
+
_updateCamOutboundAnalytics(): void;
|
|
2185
|
+
_startWebcamStatsSubscription(): void;
|
|
2186
|
+
_stopWebcamStatsSubscription(): void;
|
|
2113
2187
|
close(): void;
|
|
2114
2188
|
disconnectAll(): void;
|
|
2115
2189
|
sendStatsCustomEvent(eventName: string, data?: any): void;
|
|
@@ -2120,6 +2194,7 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2120
2194
|
_monitorVideoTrack(track: MediaStreamTrack): void;
|
|
2121
2195
|
_onMessage(message: any): Promise<void>;
|
|
2122
2196
|
_onConsumerReady(options: ConsumerOptions<ConsumerAppData>): Promise<void>;
|
|
2197
|
+
_reapplyStreamResolutions(): void;
|
|
2123
2198
|
_onConsumerClosed({ consumerId, reason }: {
|
|
2124
2199
|
consumerId: string;
|
|
2125
2200
|
reason: string;
|
|
@@ -2140,6 +2215,19 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2140
2215
|
kind: string;
|
|
2141
2216
|
score: number;
|
|
2142
2217
|
}): void;
|
|
2218
|
+
_getSvcEncodingUpdate(encoding: RtpEncodingParametersWithScalabilityMode, spatialLayer: number): {
|
|
2219
|
+
scalabilityMode: string;
|
|
2220
|
+
scaleResolutionDownBy: number;
|
|
2221
|
+
maxBitrate: number | undefined;
|
|
2222
|
+
} | undefined;
|
|
2223
|
+
_onChangedHighestPreferredLayer({ producerId, spatialLayer }: {
|
|
2224
|
+
producerId: string;
|
|
2225
|
+
spatialLayer: number;
|
|
2226
|
+
}): Promise<void>;
|
|
2227
|
+
_syncWebcamEncoderToHighestPreferredLayer(): Promise<void>;
|
|
2228
|
+
_applyPendingHighestPreferredLayerUpdates(): Promise<void>;
|
|
2229
|
+
_applyHighestPreferredLayerToWebcamEncoder(): Promise<void>;
|
|
2230
|
+
_incrementHistogramCount(histogram: Record<string, number>, key: string): void;
|
|
2143
2231
|
_onDataConsumerReady(options: DataConsumerOptions<DataConsumerAppData>): Promise<void>;
|
|
2144
2232
|
_onDataConsumerClosed({ dataConsumerId, reason }: {
|
|
2145
2233
|
dataConsumerId: string;
|
|
@@ -2159,5 +2247,5 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
2159
2247
|
hasClient(clientId: string): boolean;
|
|
2160
2248
|
}
|
|
2161
2249
|
|
|
2162
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, EVENTS, FILE_SHARE_ERROR_CODES, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getInitialStream, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isFileShareError, isMobile, issueDetectorOrMetricEnabled, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, updateRenderedDimensions, variance };
|
|
2250
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, CAM_SAMPLES_SKIPPED_AFTER_CANDIDATE_PAIR_CHANGE, CONGESTED_FRACTION_LOST, CONGESTED_RTT_INFLATION_MS, EVENTS, FILE_SHARE_ERROR_CODES, INITIAL_CONSUMER_SPATIAL_LAYER, INITIAL_HIGHEST_PREFERRED_LAYER, KNOCK_MESSAGES, KalmanFilter, LOWEST_SVC_LAYER_MAX_BITRATE, Logger, MAX_CONCURRENT_PREFERRED_LAYER_SWITCH_WATCHES, MEDIA_JITTER_BUFFER_TARGET, MIDDLE_SVC_LAYER_MAX_BITRATE, NoDevicesError, P2pRtcManager, PREFERRED_LAYER_SWITCH_POLL_INTERVAL_MS, PREFERRED_LAYER_SWITCH_WATCH_TIMEOUT_MS, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getInitialStream, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getSelectedCandidatePairId, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isFileShareError, isMobile, issueDetectorOrMetricEnabled, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, updateRenderedDimensions, variance };
|
|
2163
2251
|
export type { AddCameraStreamOptions, AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdateRequest, BreakoutSessionUpdatedEvent, BuildDeviceListOptions, CannotJoinUnclaimedRoomError, ChatFileShare, ChatMessage, ChatMessageError, ChatMessageRemoved, ChatMessageRequest, ClearableTimeout, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, ConnectionStatus, Credentials, FileShareErrorCode, FileUploadUrl, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetInitialStreamOptions, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, GetUserMediaAttempt, GetUserMediaAttemptOutcome, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockOnHoldEvent, KnockRejectedEvent, KnockResponse, KnockResponseSender, KnockRoomRequest, KnockerLeftEvent, LiveCaptionEvent, LiveCaptionsStartedEvent, LiveCaptionsStoppedEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, MediaPrefs, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RemoveScreenshareStreamOptions, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomEmptyError, RoomFullError, RoomJoinPermissionDeniedError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, ScreenshareEnableRequest, ScreenshareEnableRequestedEvent, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceCandidateMessage, SignalIceEndOfCandidatesMessage, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRTCSessionDescription, SignalReadyToReceiveOfferMessage, SignalRequests, SignalRoom, SignalSDPMessage, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UniqueRoleAlreadyInRoomError, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaConnectionOptions, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, WebRTCProvider };
|