@whereby.com/media 2.1.2 → 2.1.4
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 +18 -10
- package/dist/index.d.cts +29 -2
- package/dist/index.d.mts +29 -2
- package/dist/index.d.ts +29 -2
- package/dist/index.mjs +18 -11
- package/dist/legacy-esm.js +18 -11
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -6187,6 +6187,21 @@ initIssuesAndMetricsByView();
|
|
|
6187
6187
|
const getIssuesAndMetrics = () => {
|
|
6188
6188
|
return Object.assign({}, issuesAndMetricsByView);
|
|
6189
6189
|
};
|
|
6190
|
+
function issueDetectorOrMetricEnabled(issueDetectorOrMetric, checkData) {
|
|
6191
|
+
const { client, kind } = checkData;
|
|
6192
|
+
if (issueDetectorOrMetric.global && kind !== "global")
|
|
6193
|
+
return false;
|
|
6194
|
+
if (!issueDetectorOrMetric.global && kind === "global")
|
|
6195
|
+
return false;
|
|
6196
|
+
let enabled = kind === "global";
|
|
6197
|
+
if (kind === "audio" && client.audio.enabled) {
|
|
6198
|
+
enabled = true;
|
|
6199
|
+
}
|
|
6200
|
+
else if (kind === "video" && client.video.enabled) {
|
|
6201
|
+
enabled = true;
|
|
6202
|
+
}
|
|
6203
|
+
return enabled && (issueDetectorOrMetric.enabled ? issueDetectorOrMetric.enabled(checkData) : true);
|
|
6204
|
+
}
|
|
6190
6205
|
function onUpdatedStats(statsByView, clients) {
|
|
6191
6206
|
Object.values(aggregatedMetrics).forEach((metricData) => {
|
|
6192
6207
|
metricData.curTicks = 0;
|
|
@@ -6236,11 +6251,7 @@ function onUpdatedStats(statsByView, clients) {
|
|
|
6236
6251
|
? "global"
|
|
6237
6252
|
: `${client.isLocalClient ? "loc" : "rem"}-${client.isPresentation ? "pres" : "cam"}-${kind}`;
|
|
6238
6253
|
metrics.forEach((metric) => {
|
|
6239
|
-
|
|
6240
|
-
return;
|
|
6241
|
-
if (!metric.global && kind === "global")
|
|
6242
|
-
return;
|
|
6243
|
-
const enabled = metric.enabled ? metric.enabled(checkData) : true;
|
|
6254
|
+
const enabled = issueDetectorOrMetricEnabled(metric, checkData);
|
|
6244
6255
|
if (enabled) {
|
|
6245
6256
|
const metricKey = `${qualifierString}-${metric.id}`;
|
|
6246
6257
|
let metricData = issuesAndMetrics.metrics[metricKey];
|
|
@@ -6300,12 +6311,8 @@ function onUpdatedStats(statsByView, clients) {
|
|
|
6300
6311
|
}
|
|
6301
6312
|
});
|
|
6302
6313
|
issueDetectors.forEach((issueDetector) => {
|
|
6303
|
-
if (issueDetector.global && kind !== "global")
|
|
6304
|
-
return;
|
|
6305
|
-
if (!issueDetector.global && kind === "global")
|
|
6306
|
-
return;
|
|
6307
6314
|
const issueKey = `${qualifierString}-${issueDetector.id}`;
|
|
6308
|
-
const enabled = issueDetector
|
|
6315
|
+
const enabled = issueDetectorOrMetricEnabled(issueDetector, checkData);
|
|
6309
6316
|
let issueData = issuesAndMetrics.issues[issueKey];
|
|
6310
6317
|
let aggregatedIssueData = aggregatedIssues[issueKey];
|
|
6311
6318
|
if (enabled) {
|
|
@@ -7337,6 +7344,7 @@ exports.getUserMedia = getUserMedia;
|
|
|
7337
7344
|
exports.hasGetDisplayMedia = hasGetDisplayMedia;
|
|
7338
7345
|
exports.ipRegex = ipRegex;
|
|
7339
7346
|
exports.isMobile = isMobile;
|
|
7347
|
+
exports.issueDetectorOrMetricEnabled = issueDetectorOrMetricEnabled;
|
|
7340
7348
|
exports.maybeRejectNoH264 = maybeRejectNoH264;
|
|
7341
7349
|
exports.maybeTurnOnly = maybeTurnOnly;
|
|
7342
7350
|
exports.modifyMediaCapabilities = modifyMediaCapabilities;
|
package/dist/index.d.cts
CHANGED
|
@@ -93,9 +93,35 @@ interface SsrcStats {
|
|
|
93
93
|
sourceFps?: number;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
interface IssueDetector {
|
|
97
|
+
id: string;
|
|
98
|
+
global?: boolean;
|
|
99
|
+
enabled: (args: IssueCheckData) => boolean;
|
|
100
|
+
check: (args: IssueCheckData) => boolean;
|
|
101
|
+
}
|
|
102
|
+
interface IssueCheckData {
|
|
103
|
+
client: StatsClient;
|
|
104
|
+
clients: StatsClient[];
|
|
105
|
+
kind: string;
|
|
106
|
+
track: MediaStreamTrack | MediaStreamTrackWithDenoiserContext | undefined;
|
|
107
|
+
trackStats?: TrackStats;
|
|
108
|
+
stats?: ViewStats;
|
|
109
|
+
hasLiveTrack: boolean;
|
|
110
|
+
ssrc0?: SsrcStats;
|
|
111
|
+
ssrcs: SsrcStats[];
|
|
112
|
+
issues: any;
|
|
113
|
+
metrics: any;
|
|
114
|
+
}
|
|
115
|
+
|
|
96
116
|
type IssueSubscription = {
|
|
97
117
|
onUpdatedIssues: (issuesAndMetricsByView: IssuesAndMetricsByView, statsByView: Record<string, ViewStats>, clients: StatsClient[]) => void;
|
|
98
118
|
};
|
|
119
|
+
interface Metric {
|
|
120
|
+
id: string;
|
|
121
|
+
global?: true;
|
|
122
|
+
enabled?: (checkData: IssueCheckData) => boolean;
|
|
123
|
+
value: (checkData: IssueCheckData) => number;
|
|
124
|
+
}
|
|
99
125
|
interface MetricData {
|
|
100
126
|
ticks: number;
|
|
101
127
|
sum: number;
|
|
@@ -163,6 +189,7 @@ declare const getIssuesAndMetrics: () => {
|
|
|
163
189
|
[clientId: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
|
|
164
190
|
aggregated: IssuesAndMetricsAggregated;
|
|
165
191
|
};
|
|
192
|
+
declare function issueDetectorOrMetricEnabled(issueDetectorOrMetric: IssueDetector | Metric, checkData: IssueCheckData): boolean;
|
|
166
193
|
declare function subscribeIssues(subscription: IssueSubscription): {
|
|
167
194
|
stop: () => void;
|
|
168
195
|
};
|
|
@@ -1797,5 +1824,5 @@ declare class RtcStream {
|
|
|
1797
1824
|
static getTypeFromId(id: string): string;
|
|
1798
1825
|
}
|
|
1799
1826
|
|
|
1800
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1801
|
-
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
|
1827
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1828
|
+
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
package/dist/index.d.mts
CHANGED
|
@@ -93,9 +93,35 @@ interface SsrcStats {
|
|
|
93
93
|
sourceFps?: number;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
interface IssueDetector {
|
|
97
|
+
id: string;
|
|
98
|
+
global?: boolean;
|
|
99
|
+
enabled: (args: IssueCheckData) => boolean;
|
|
100
|
+
check: (args: IssueCheckData) => boolean;
|
|
101
|
+
}
|
|
102
|
+
interface IssueCheckData {
|
|
103
|
+
client: StatsClient;
|
|
104
|
+
clients: StatsClient[];
|
|
105
|
+
kind: string;
|
|
106
|
+
track: MediaStreamTrack | MediaStreamTrackWithDenoiserContext | undefined;
|
|
107
|
+
trackStats?: TrackStats;
|
|
108
|
+
stats?: ViewStats;
|
|
109
|
+
hasLiveTrack: boolean;
|
|
110
|
+
ssrc0?: SsrcStats;
|
|
111
|
+
ssrcs: SsrcStats[];
|
|
112
|
+
issues: any;
|
|
113
|
+
metrics: any;
|
|
114
|
+
}
|
|
115
|
+
|
|
96
116
|
type IssueSubscription = {
|
|
97
117
|
onUpdatedIssues: (issuesAndMetricsByView: IssuesAndMetricsByView, statsByView: Record<string, ViewStats>, clients: StatsClient[]) => void;
|
|
98
118
|
};
|
|
119
|
+
interface Metric {
|
|
120
|
+
id: string;
|
|
121
|
+
global?: true;
|
|
122
|
+
enabled?: (checkData: IssueCheckData) => boolean;
|
|
123
|
+
value: (checkData: IssueCheckData) => number;
|
|
124
|
+
}
|
|
99
125
|
interface MetricData {
|
|
100
126
|
ticks: number;
|
|
101
127
|
sum: number;
|
|
@@ -163,6 +189,7 @@ declare const getIssuesAndMetrics: () => {
|
|
|
163
189
|
[clientId: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
|
|
164
190
|
aggregated: IssuesAndMetricsAggregated;
|
|
165
191
|
};
|
|
192
|
+
declare function issueDetectorOrMetricEnabled(issueDetectorOrMetric: IssueDetector | Metric, checkData: IssueCheckData): boolean;
|
|
166
193
|
declare function subscribeIssues(subscription: IssueSubscription): {
|
|
167
194
|
stop: () => void;
|
|
168
195
|
};
|
|
@@ -1797,5 +1824,5 @@ declare class RtcStream {
|
|
|
1797
1824
|
static getTypeFromId(id: string): string;
|
|
1798
1825
|
}
|
|
1799
1826
|
|
|
1800
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1801
|
-
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
|
1827
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1828
|
+
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
package/dist/index.d.ts
CHANGED
|
@@ -93,9 +93,35 @@ interface SsrcStats {
|
|
|
93
93
|
sourceFps?: number;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
interface IssueDetector {
|
|
97
|
+
id: string;
|
|
98
|
+
global?: boolean;
|
|
99
|
+
enabled: (args: IssueCheckData) => boolean;
|
|
100
|
+
check: (args: IssueCheckData) => boolean;
|
|
101
|
+
}
|
|
102
|
+
interface IssueCheckData {
|
|
103
|
+
client: StatsClient;
|
|
104
|
+
clients: StatsClient[];
|
|
105
|
+
kind: string;
|
|
106
|
+
track: MediaStreamTrack | MediaStreamTrackWithDenoiserContext | undefined;
|
|
107
|
+
trackStats?: TrackStats;
|
|
108
|
+
stats?: ViewStats;
|
|
109
|
+
hasLiveTrack: boolean;
|
|
110
|
+
ssrc0?: SsrcStats;
|
|
111
|
+
ssrcs: SsrcStats[];
|
|
112
|
+
issues: any;
|
|
113
|
+
metrics: any;
|
|
114
|
+
}
|
|
115
|
+
|
|
96
116
|
type IssueSubscription = {
|
|
97
117
|
onUpdatedIssues: (issuesAndMetricsByView: IssuesAndMetricsByView, statsByView: Record<string, ViewStats>, clients: StatsClient[]) => void;
|
|
98
118
|
};
|
|
119
|
+
interface Metric {
|
|
120
|
+
id: string;
|
|
121
|
+
global?: true;
|
|
122
|
+
enabled?: (checkData: IssueCheckData) => boolean;
|
|
123
|
+
value: (checkData: IssueCheckData) => number;
|
|
124
|
+
}
|
|
99
125
|
interface MetricData {
|
|
100
126
|
ticks: number;
|
|
101
127
|
sum: number;
|
|
@@ -163,6 +189,7 @@ declare const getIssuesAndMetrics: () => {
|
|
|
163
189
|
[clientId: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
|
|
164
190
|
aggregated: IssuesAndMetricsAggregated;
|
|
165
191
|
};
|
|
192
|
+
declare function issueDetectorOrMetricEnabled(issueDetectorOrMetric: IssueDetector | Metric, checkData: IssueCheckData): boolean;
|
|
166
193
|
declare function subscribeIssues(subscription: IssueSubscription): {
|
|
167
194
|
stop: () => void;
|
|
168
195
|
};
|
|
@@ -1797,5 +1824,5 @@ declare class RtcStream {
|
|
|
1797
1824
|
static getTypeFromId(id: string): string;
|
|
1798
1825
|
}
|
|
1799
1826
|
|
|
1800
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1801
|
-
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
|
1827
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1828
|
+
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
package/dist/index.mjs
CHANGED
|
@@ -6166,6 +6166,21 @@ initIssuesAndMetricsByView();
|
|
|
6166
6166
|
const getIssuesAndMetrics = () => {
|
|
6167
6167
|
return Object.assign({}, issuesAndMetricsByView);
|
|
6168
6168
|
};
|
|
6169
|
+
function issueDetectorOrMetricEnabled(issueDetectorOrMetric, checkData) {
|
|
6170
|
+
const { client, kind } = checkData;
|
|
6171
|
+
if (issueDetectorOrMetric.global && kind !== "global")
|
|
6172
|
+
return false;
|
|
6173
|
+
if (!issueDetectorOrMetric.global && kind === "global")
|
|
6174
|
+
return false;
|
|
6175
|
+
let enabled = kind === "global";
|
|
6176
|
+
if (kind === "audio" && client.audio.enabled) {
|
|
6177
|
+
enabled = true;
|
|
6178
|
+
}
|
|
6179
|
+
else if (kind === "video" && client.video.enabled) {
|
|
6180
|
+
enabled = true;
|
|
6181
|
+
}
|
|
6182
|
+
return enabled && (issueDetectorOrMetric.enabled ? issueDetectorOrMetric.enabled(checkData) : true);
|
|
6183
|
+
}
|
|
6169
6184
|
function onUpdatedStats(statsByView, clients) {
|
|
6170
6185
|
Object.values(aggregatedMetrics).forEach((metricData) => {
|
|
6171
6186
|
metricData.curTicks = 0;
|
|
@@ -6215,11 +6230,7 @@ function onUpdatedStats(statsByView, clients) {
|
|
|
6215
6230
|
? "global"
|
|
6216
6231
|
: `${client.isLocalClient ? "loc" : "rem"}-${client.isPresentation ? "pres" : "cam"}-${kind}`;
|
|
6217
6232
|
metrics.forEach((metric) => {
|
|
6218
|
-
|
|
6219
|
-
return;
|
|
6220
|
-
if (!metric.global && kind === "global")
|
|
6221
|
-
return;
|
|
6222
|
-
const enabled = metric.enabled ? metric.enabled(checkData) : true;
|
|
6233
|
+
const enabled = issueDetectorOrMetricEnabled(metric, checkData);
|
|
6223
6234
|
if (enabled) {
|
|
6224
6235
|
const metricKey = `${qualifierString}-${metric.id}`;
|
|
6225
6236
|
let metricData = issuesAndMetrics.metrics[metricKey];
|
|
@@ -6279,12 +6290,8 @@ function onUpdatedStats(statsByView, clients) {
|
|
|
6279
6290
|
}
|
|
6280
6291
|
});
|
|
6281
6292
|
issueDetectors.forEach((issueDetector) => {
|
|
6282
|
-
if (issueDetector.global && kind !== "global")
|
|
6283
|
-
return;
|
|
6284
|
-
if (!issueDetector.global && kind === "global")
|
|
6285
|
-
return;
|
|
6286
6293
|
const issueKey = `${qualifierString}-${issueDetector.id}`;
|
|
6287
|
-
const enabled = issueDetector
|
|
6294
|
+
const enabled = issueDetectorOrMetricEnabled(issueDetector, checkData);
|
|
6288
6295
|
let issueData = issuesAndMetrics.issues[issueKey];
|
|
6289
6296
|
let aggregatedIssueData = aggregatedIssues[issueKey];
|
|
6290
6297
|
if (enabled) {
|
|
@@ -7240,4 +7247,4 @@ var RtcEventNames;
|
|
|
7240
7247
|
RtcEventNames["stream_added"] = "stream_added";
|
|
7241
7248
|
})(RtcEventNames || (RtcEventNames = {}));
|
|
7242
7249
|
|
|
7243
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
7250
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
package/dist/legacy-esm.js
CHANGED
|
@@ -6166,6 +6166,21 @@ initIssuesAndMetricsByView();
|
|
|
6166
6166
|
const getIssuesAndMetrics = () => {
|
|
6167
6167
|
return Object.assign({}, issuesAndMetricsByView);
|
|
6168
6168
|
};
|
|
6169
|
+
function issueDetectorOrMetricEnabled(issueDetectorOrMetric, checkData) {
|
|
6170
|
+
const { client, kind } = checkData;
|
|
6171
|
+
if (issueDetectorOrMetric.global && kind !== "global")
|
|
6172
|
+
return false;
|
|
6173
|
+
if (!issueDetectorOrMetric.global && kind === "global")
|
|
6174
|
+
return false;
|
|
6175
|
+
let enabled = kind === "global";
|
|
6176
|
+
if (kind === "audio" && client.audio.enabled) {
|
|
6177
|
+
enabled = true;
|
|
6178
|
+
}
|
|
6179
|
+
else if (kind === "video" && client.video.enabled) {
|
|
6180
|
+
enabled = true;
|
|
6181
|
+
}
|
|
6182
|
+
return enabled && (issueDetectorOrMetric.enabled ? issueDetectorOrMetric.enabled(checkData) : true);
|
|
6183
|
+
}
|
|
6169
6184
|
function onUpdatedStats(statsByView, clients) {
|
|
6170
6185
|
Object.values(aggregatedMetrics).forEach((metricData) => {
|
|
6171
6186
|
metricData.curTicks = 0;
|
|
@@ -6215,11 +6230,7 @@ function onUpdatedStats(statsByView, clients) {
|
|
|
6215
6230
|
? "global"
|
|
6216
6231
|
: `${client.isLocalClient ? "loc" : "rem"}-${client.isPresentation ? "pres" : "cam"}-${kind}`;
|
|
6217
6232
|
metrics.forEach((metric) => {
|
|
6218
|
-
|
|
6219
|
-
return;
|
|
6220
|
-
if (!metric.global && kind === "global")
|
|
6221
|
-
return;
|
|
6222
|
-
const enabled = metric.enabled ? metric.enabled(checkData) : true;
|
|
6233
|
+
const enabled = issueDetectorOrMetricEnabled(metric, checkData);
|
|
6223
6234
|
if (enabled) {
|
|
6224
6235
|
const metricKey = `${qualifierString}-${metric.id}`;
|
|
6225
6236
|
let metricData = issuesAndMetrics.metrics[metricKey];
|
|
@@ -6279,12 +6290,8 @@ function onUpdatedStats(statsByView, clients) {
|
|
|
6279
6290
|
}
|
|
6280
6291
|
});
|
|
6281
6292
|
issueDetectors.forEach((issueDetector) => {
|
|
6282
|
-
if (issueDetector.global && kind !== "global")
|
|
6283
|
-
return;
|
|
6284
|
-
if (!issueDetector.global && kind === "global")
|
|
6285
|
-
return;
|
|
6286
6293
|
const issueKey = `${qualifierString}-${issueDetector.id}`;
|
|
6287
|
-
const enabled = issueDetector
|
|
6294
|
+
const enabled = issueDetectorOrMetricEnabled(issueDetector, checkData);
|
|
6288
6295
|
let issueData = issuesAndMetrics.issues[issueKey];
|
|
6289
6296
|
let aggregatedIssueData = aggregatedIssues[issueKey];
|
|
6290
6297
|
if (enabled) {
|
|
@@ -7240,5 +7247,5 @@ var RtcEventNames;
|
|
|
7240
7247
|
RtcEventNames["stream_added"] = "stream_added";
|
|
7241
7248
|
})(RtcEventNames || (RtcEventNames = {}));
|
|
7242
7249
|
|
|
7243
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
7250
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
7244
7251
|
//# sourceMappingURL=legacy-esm.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whereby.com/media",
|
|
3
3
|
"description": "Media library for Whereby",
|
|
4
|
-
"version": "2.1.
|
|
4
|
+
"version": "2.1.4",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/whereby/sdk",
|
|
7
7
|
"repository": {
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"check-ip": "^1.1.1",
|
|
42
42
|
"events": "^3.3.0",
|
|
43
43
|
"ip-address": "^9.0.5",
|
|
44
|
-
"mediasoup-client": "3.15.
|
|
44
|
+
"mediasoup-client": "3.15.7",
|
|
45
45
|
"rtcstats": "github:whereby/rtcstats#5.4.1",
|
|
46
46
|
"sdp": "^3.2.0",
|
|
47
47
|
"sdp-transform": "^2.14.2",
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
"prettier": "^3.5.3",
|
|
62
62
|
"process": "^0.11.10",
|
|
63
63
|
"typescript": "^5.8.3",
|
|
64
|
-
"@whereby.com/jest-config": "0.1.0",
|
|
65
64
|
"@whereby.com/eslint-config": "0.1.0",
|
|
65
|
+
"@whereby.com/jest-config": "0.1.0",
|
|
66
66
|
"@whereby.com/prettier-config": "0.1.0",
|
|
67
67
|
"@whereby.com/rollup-config": "0.1.0",
|
|
68
68
|
"@whereby.com/tsconfig": "0.1.0"
|