@abrar71/lib-jitsi-meet 2147.0.0 → 2158.0.0

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.
Files changed (35) hide show
  1. package/dist/esm/JitsiConference.js +14 -5
  2. package/dist/esm/JitsiConference.js.map +1 -1
  3. package/dist/esm/JitsiConferenceEventManager.js +3 -0
  4. package/dist/esm/JitsiConferenceEventManager.js.map +1 -1
  5. package/dist/esm/modules/RTC/MockClasses.js +1 -0
  6. package/dist/esm/modules/RTC/MockClasses.js.map +1 -1
  7. package/dist/esm/modules/RTC/RTCUtils.js +17 -1
  8. package/dist/esm/modules/RTC/RTCUtils.js.map +1 -1
  9. package/dist/esm/modules/RTC/TPCUtils.js +22 -12
  10. package/dist/esm/modules/RTC/TPCUtils.js.map +1 -1
  11. package/dist/esm/modules/RTC/TraceablePeerConnection.js +41 -30
  12. package/dist/esm/modules/RTC/TraceablePeerConnection.js.map +1 -1
  13. package/dist/esm/modules/RTCStats/RTCStatsEvents.js +10 -0
  14. package/dist/esm/modules/RTCStats/RTCStatsEvents.js.map +1 -1
  15. package/dist/esm/modules/browser/BrowserCapabilities.js +13 -8
  16. package/dist/esm/modules/browser/BrowserCapabilities.js.map +1 -1
  17. package/dist/esm/modules/connectivity/TrackStreamingStatus.js +9 -0
  18. package/dist/esm/modules/connectivity/TrackStreamingStatus.js.map +1 -1
  19. package/dist/esm/modules/qualitycontrol/SendVideoController.js +39 -20
  20. package/dist/esm/modules/qualitycontrol/SendVideoController.js.map +1 -1
  21. package/dist/esm/modules/sdp/LocalSdpMunger.js +7 -11
  22. package/dist/esm/modules/sdp/LocalSdpMunger.js.map +1 -1
  23. package/dist/esm/modules/xmpp/JingleSessionPC.js +9 -1
  24. package/dist/esm/modules/xmpp/JingleSessionPC.js.map +1 -1
  25. package/dist/esm/modules/xmpp/XmppConnection.js +0 -4
  26. package/dist/esm/modules/xmpp/XmppConnection.js.map +1 -1
  27. package/dist/esm/modules/xmpp/strophe.jingle.js +52 -32
  28. package/dist/esm/modules/xmpp/strophe.jingle.js.map +1 -1
  29. package/dist/esm/modules/xmpp/xmpp.js +3 -3
  30. package/dist/esm/modules/xmpp/xmpp.js.map +1 -1
  31. package/dist/esm/version.js +1 -1
  32. package/dist/umd/lib-jitsi-meet.min.js +1 -1
  33. package/dist/umd/lib-jitsi-meet.min.map +1 -1
  34. package/package.json +4 -4
  35. package/types/index.d.ts +135 -110
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abrar71/lib-jitsi-meet",
3
- "version": "2147.0.0",
3
+ "version": "2158.0.0",
4
4
  "description": "JS library for accessing Jitsi server side deployments",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,7 +16,7 @@
16
16
  "author": "",
17
17
  "readmeFilename": "README.md",
18
18
  "dependencies": {
19
- "@jitsi/js-utils": "^2.6.7",
19
+ "@jitsi/js-utils": "6.3.2",
20
20
  "@jitsi/logger": "2.1.1",
21
21
  "@jitsi/precall-test": "1.0.6",
22
22
  "@jitsi/rtcstats": "9.7.1",
@@ -26,10 +26,10 @@
26
26
  "current-executing-script": "0.1.3",
27
27
  "emoji-regex": "10.4.0",
28
28
  "jwt-decode": "4.0.0",
29
- "lodash-es": "4.17.21",
29
+ "lodash-es": "4.18.1",
30
30
  "sdp-transform": "2.3.0",
31
31
  "strophe.js": "https://github.com/jitsi/strophejs/releases/download/v1.5-jitsi-3/strophe.js-1.5.0.tgz",
32
- "uuid": "8.3.2",
32
+ "uuid": "14.0.0",
33
33
  "webrtc-adapter": "8.1.1"
34
34
  },
35
35
  "devDependencies": {
package/types/index.d.ts CHANGED
@@ -1269,7 +1269,7 @@ declare module "service/statistics/AnalyticsEvents" {
1269
1269
  };
1270
1270
  }
1271
1271
  declare module "modules/browser/BrowserCapabilities" {
1272
- import BrowserDetection from '@jitsi/js-utils/browser-detection/BrowserDetection';
1272
+ import { BrowserDetection } from '@jitsi/js-utils/browser-detection';
1273
1273
  /**
1274
1274
  * Implements browser capabilities for lib-jitsi-meet.
1275
1275
  */
@@ -1397,6 +1397,12 @@ declare module "modules/browser/BrowserCapabilities" {
1397
1397
  * @return {boolean}
1398
1398
  */
1399
1399
  supportsRTTStatistics(): boolean;
1400
+ /**
1401
+ * Returns true on Firefox 110+, where RTCRtpTransceiverInit.sendEncodings is honored.
1402
+ *
1403
+ * @returns {boolean}
1404
+ */
1405
+ supportsEncodingsConfig(): boolean;
1400
1406
  /**
1401
1407
  * Returns true if the browser supports the new Scalability Mode API for VP9/AV1 simulcast and full SVC. H.264
1402
1408
  * simulcast will also be supported by the jvb for this version because the bridge is able to read the Dependency
@@ -1413,10 +1419,10 @@ declare module "modules/browser/BrowserCapabilities" {
1413
1419
  */
1414
1420
  supportsTrackBasedStats(): boolean;
1415
1421
  /**
1416
- * Returns true if VP9 is supported by the client on the browser. VP9 is currently disabled on Safari
1417
- * and older versions of Firefox because of issues. Please check https://bugs.webkit.org/show_bug.cgi?id=231074 for
1418
- * details.
1422
+ * Returns true if VP9 is supported by the client on the browser.
1419
1423
  *
1424
+ * Disabled on WebKit-based browsers (Safari/iOS). Firefox is supported on version 151+ (see:
1425
+ * https://bugzilla.mozilla.org/show_bug.cgi?id=1633876).
1420
1426
  * @returns {boolean}
1421
1427
  */
1422
1428
  supportsVP9(): boolean;
@@ -2726,6 +2732,118 @@ declare module "service/RTC/Resolutions" {
2726
2732
  };
2727
2733
  export default Resolutions;
2728
2734
  }
2735
+ declare module "modules/RTCStats/RTCStatsEvents" {
2736
+ /**
2737
+ * Events emitted by the RTCStats module.
2738
+ */
2739
+ export enum RTCStatsEvents {
2740
+ /**
2741
+ * Event that indicates that the microphone has been muted or unmuted.
2742
+ *
2743
+ * @param {boolean} muted - Whether microphone was muted.
2744
+ */
2745
+ AUDIO_MUTE_CHANGED_EVENT = "audioMutedChanged",
2746
+ /**
2747
+ * Event that indicates that the video codec on the sender has changed.
2748
+ *
2749
+ * @param {object} data - The data.
2750
+ * @param {CodecMimeType} data.camera - The codec used for camera source.
2751
+ * @param {CodecMimeType} data.screenshare - The codec used for screenshare.
2752
+ */
2753
+ CODEC_CHANGED_EVENT = "codecChanged",
2754
+ /**
2755
+ * Event that indicates that the conference start timestamp has been received from MUC.
2756
+ */
2757
+ CONFERENCE_START_TIMESTAMP_EVENT = "conferenceStartTimestamp",
2758
+ /**
2759
+ * Event that indicates that the current user has become the dominant speaker for the conference.
2760
+ */
2761
+ DOMINANT_SPEAKER_CHANGED_EVENT = "dominantSpeakerChanged",
2762
+ /**
2763
+ * Event that indicates that the encode resolution is being restricted by CPU.
2764
+ *
2765
+ * @param {boolean} restricted - Whether CPU restriction was detected or removed.
2766
+ */
2767
+ ENCODER_CPU_RESTRICTED_EVENT = "cpuRestricted",
2768
+ /**
2769
+ * Event that indicates that a getUserMedia call has failed.
2770
+ *
2771
+ * @param {object} data - The data.
2772
+ * @param {string} data.name - The error name (e.g. 'NotAllowedError', 'NotFoundError', 'OverconstrainedError').
2773
+ * @param {string} data.message - The error message.
2774
+ * @param {string} [data.constraint] - The failed constraint name, when applicable (OverconstrainedError).
2775
+ * @param {Array<string>} data.devices - The media types that were requested (e.g. ['audio', 'video', 'desktop']).
2776
+ */
2777
+ GET_USER_MEDIA_ERROR_EVENT = "getUserMediaError",
2778
+ /**
2779
+ * Event that indicates that the JVB media session is restarted because of ICE failure.
2780
+ */
2781
+ JVB_ICE_RESTARTED_EVENT = "jvbIceRestarted",
2782
+ /**
2783
+ * Event for logging.
2784
+ */
2785
+ LOG_EVENT = "logs",
2786
+ /**
2787
+ * Event that indicates that a remote video source's media stream has been interrupted.
2788
+ */
2789
+ REMOTE_SOURCE_INTERRUPTED_EVENT = "remoteSourceInterrupted",
2790
+ /**
2791
+ * Event that indicates that a remote video source is suspended by the JVB because of BWE issues.
2792
+ */
2793
+ REMOTE_SOURCE_SUSPENDED_EVENT = "remoteSourceSuspended",
2794
+ /**
2795
+ * Event that indicates a change in the decoding state of a remote video stream that is receiving media bytes.
2796
+ *
2797
+ * @param {object} data - The event data.
2798
+ * @param {boolean} data.stopped - True when frame decoding has stopped while bytes are still received,
2799
+ * false when decoding resumes.
2800
+ * @param {string} data.participantId - The participant whose video stream is affected.
2801
+ * @param {number} data.ssrc - The SSRC of the affected stream.
2802
+ */
2803
+ REMOTE_VIDEO_DECODING_EVENT = "remoteVideoDecoding",
2804
+ /**
2805
+ * Event emitted when any PeerConnection event is triggered.
2806
+ *
2807
+ * @param {object} event - The PeerConnection event.
2808
+ * @param {string} event.type - The event type.
2809
+ * @param {object} event.body - Event body.
2810
+ * @param {string} event.body.isP2P - PeerConnection type.
2811
+ * @param {string} event.body.state - PeerConnection state change which triggered the event.
2812
+ */
2813
+ RTC_STATS_PC_EVENT = "rtstats_pc_event",
2814
+ /**
2815
+ * Event emitted when the websocket connection to the rtcstats server is disconnected.
2816
+ */
2817
+ RTC_STATS_WC_DISCONNECTED = "rtcstats_ws_disconnected",
2818
+ /**
2819
+ * Event that indicates that the screenshare has started or stopped.
2820
+ *
2821
+ * @param {object} data - The data.
2822
+ * @param {boolean} data.muted - Whether screenshare was toggled off or on.
2823
+ */
2824
+ SCREENSHARE_MUTE_CHANGED_EVENT = "screenshareToggled",
2825
+ /**
2826
+ * Event that indicates that the strophe connection has disconnected.
2827
+ */
2828
+ STROPHE_DISCONNECTED_EVENT = "stropheDisconnected",
2829
+ /**
2830
+ * Event that indicates that a strophe error has occurred.
2831
+ *
2832
+ * @param {object} data - The data.
2833
+ */
2834
+ STROPHE_ERROR_EVENT = "strophe.error",
2835
+ /**
2836
+ * Event that indicates that the strophe connection has been re-established.
2837
+ */
2838
+ STROPHE_RECONNECTED_EVENT = "stropheReconnected",
2839
+ /**
2840
+ * Event that indicates that the camera has been muted or unmuted.
2841
+ *
2842
+ * @param {boolean} muted - Whether camera was muted.
2843
+ */
2844
+ VIDEO_MUTE_CHANGED_EVENT = "videoMutedChanged"
2845
+ }
2846
+ }
2729
2847
  declare module "modules/RTC/ScreenObtainer" {
2730
2848
  import JitsiTrackError from "JitsiTrackError";
2731
2849
  /**
@@ -3084,108 +3202,6 @@ declare module "service/RTC/VideoEncoderScalabilityMode" {
3084
3202
  L3T3_KEY = "L3T3_KEY"
3085
3203
  }
3086
3204
  }
3087
- declare module "modules/RTCStats/RTCStatsEvents" {
3088
- /**
3089
- * Events emitted by the RTCStats module.
3090
- */
3091
- export enum RTCStatsEvents {
3092
- /**
3093
- * Event that indicates that the microphone has been muted or unmuted.
3094
- *
3095
- * @param {boolean} muted - Whether microphone was muted.
3096
- */
3097
- AUDIO_MUTE_CHANGED_EVENT = "audioMutedChanged",
3098
- /**
3099
- * Event that indicates that the video codec on the sender has changed.
3100
- *
3101
- * @param {object} data - The data.
3102
- * @param {CodecMimeType} data.camera - The codec used for camera source.
3103
- * @param {CodecMimeType} data.screenshare - The codec used for screenshare.
3104
- */
3105
- CODEC_CHANGED_EVENT = "codecChanged",
3106
- /**
3107
- * Event that indicates that the conference start timestamp has been received from MUC.
3108
- */
3109
- CONFERENCE_START_TIMESTAMP_EVENT = "conferenceStartTimestamp",
3110
- /**
3111
- * Event that indicates that the current user has become the dominant speaker for the conference.
3112
- */
3113
- DOMINANT_SPEAKER_CHANGED_EVENT = "dominantSpeakerChanged",
3114
- /**
3115
- * Event that indicates that the encode resolution is being restricted by CPU.
3116
- *
3117
- * @param {boolean} restricted - Whether CPU restriction was detected or removed.
3118
- */
3119
- ENCODER_CPU_RESTRICTED_EVENT = "cpuRestricted",
3120
- /**
3121
- * Event that indicates that the JVB media session is restarted because of ICE failure.
3122
- */
3123
- JVB_ICE_RESTARTED_EVENT = "jvbIceRestarted",
3124
- /**
3125
- * Event for logging.
3126
- */
3127
- LOG_EVENT = "logs",
3128
- /**
3129
- * Event that indicates that a remote video source's media stream has been interrupted.
3130
- */
3131
- REMOTE_SOURCE_INTERRUPTED_EVENT = "remoteSourceInterrupted",
3132
- /**
3133
- * Event that indicates that a remote video source is suspended by the JVB because of BWE issues.
3134
- */
3135
- REMOTE_SOURCE_SUSPENDED_EVENT = "remoteSourceSuspended",
3136
- /**
3137
- * Event that indicates a change in the decoding state of a remote video stream that is receiving media bytes.
3138
- *
3139
- * @param {object} data - The event data.
3140
- * @param {boolean} data.stopped - True when frame decoding has stopped while bytes are still received,
3141
- * false when decoding resumes.
3142
- * @param {string} data.participantId - The participant whose video stream is affected.
3143
- * @param {number} data.ssrc - The SSRC of the affected stream.
3144
- */
3145
- REMOTE_VIDEO_DECODING_EVENT = "remoteVideoDecoding",
3146
- /**
3147
- * Event emitted when any PeerConnection event is triggered.
3148
- *
3149
- * @param {object} event - The PeerConnection event.
3150
- * @param {string} event.type - The event type.
3151
- * @param {object} event.body - Event body.
3152
- * @param {string} event.body.isP2P - PeerConnection type.
3153
- * @param {string} event.body.state - PeerConnection state change which triggered the event.
3154
- */
3155
- RTC_STATS_PC_EVENT = "rtstats_pc_event",
3156
- /**
3157
- * Event emitted when the websocket connection to the rtcstats server is disconnected.
3158
- */
3159
- RTC_STATS_WC_DISCONNECTED = "rtcstats_ws_disconnected",
3160
- /**
3161
- * Event that indicates that the screenshare has started or stopped.
3162
- *
3163
- * @param {object} data - The data.
3164
- * @param {boolean} data.muted - Whether screenshare was toggled off or on.
3165
- */
3166
- SCREENSHARE_MUTE_CHANGED_EVENT = "screenshareToggled",
3167
- /**
3168
- * Event that indicates that the strophe connection has disconnected.
3169
- */
3170
- STROPHE_DISCONNECTED_EVENT = "stropheDisconnected",
3171
- /**
3172
- * Event that indicates that a strophe error has occurred.
3173
- *
3174
- * @param {object} data - The data.
3175
- */
3176
- STROPHE_ERROR_EVENT = "strophe.error",
3177
- /**
3178
- * Event that indicates that the strophe connection has been re-established.
3179
- */
3180
- STROPHE_RECONNECTED_EVENT = "stropheReconnected",
3181
- /**
3182
- * Event that indicates that the camera has been muted or unmuted.
3183
- *
3184
- * @param {boolean} muted - Whether camera was muted.
3185
- */
3186
- VIDEO_MUTE_CHANGED_EVENT = "videoMutedChanged"
3187
- }
3188
- }
3189
3205
  declare module "modules/sdp/SdpTransformUtil" {
3190
3206
  import { type MediaDescription } from 'sdp-transform';
3191
3207
  import { MediaDirection } from "service/RTC/MediaDirection";
@@ -11351,10 +11367,10 @@ declare module "modules/qualitycontrol/SendVideoController" {
11351
11367
  private _conference;
11352
11368
  private _preferredSendMaxFrameHeight;
11353
11369
  /**
11354
- * Source name based sender constraints.
11355
- * @type {Map<string, number>};
11370
+ * Per-session source-name sender constraints. WeakMap so ended sessions are released by the GC without
11371
+ * explicit cleanup. Keyed by session, value is a map of sourceName -> maxHeight.
11356
11372
  */
11357
- private _sourceSenderConstraints;
11373
+ private _sessionSenderConstraints;
11358
11374
  /**
11359
11375
  * Creates new instance for a given conference.
11360
11376
  *
@@ -11362,6 +11378,13 @@ declare module "modules/qualitycontrol/SendVideoController" {
11362
11378
  * the send video quality constraints.
11363
11379
  */
11364
11380
  constructor(conference: JitsiConference);
11381
+ /**
11382
+ * Returns the constraint map for the currently active session, or undefined when there is no active session.
11383
+ *
11384
+ * @returns {Map<string, number> | undefined}
11385
+ * @private
11386
+ */
11387
+ private _activeSessionMap;
11365
11388
  /**
11366
11389
  * Figures out the send video constraint as specified by {@link _selectSendMaxFrameHeight} and sets it on all media
11367
11390
  * sessions for the reasons mentioned in this class description.
@@ -13735,6 +13758,8 @@ declare module "JitsiConference" {
13735
13758
  * @param {JingleSessionPC} jingleSession - The media session.
13736
13759
  * @param {Error} error - The error message.
13737
13760
  * @param {MediaType} mediaType - The media type of the track associated with the source that was rejected.
13761
+ * @param {Object} _ctx - Unused context object passed by JingleSessionPC.
13762
+ * @param {Array<string>} sourceNames - Source names of the rejected sources, when available.
13738
13763
  * @returns {void}
13739
13764
  */
13740
13765
  private _removeLocalSourceOnReject;
@@ -15348,7 +15373,7 @@ declare module "modules/webaudio/AudioMixer" {
15348
15373
  }
15349
15374
  }
15350
15375
  declare module "version" {
15351
- export const COMMIT_HASH = "df9bfa9d";
15376
+ export const COMMIT_HASH = "3d0cc1cb";
15352
15377
  }
15353
15378
  declare module "JitsiMeetJS" {
15354
15379
  import JitsiConference, { IConferenceOptions } from "JitsiConference";