@webex/web-client-media-engine 1.41.0 → 1.42.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.
@@ -1,4 +1,4 @@
1
- import { ConnectionState, LocalTrack } from '@webex/webrtc-core';
1
+ import { LocalTrack, ConnectionState } from '@webex/webrtc-core';
2
2
  export { AudioDeviceConstraints, ConnectionState, LocalCameraTrack, LocalDisplayTrack, LocalMicrophoneTrack, LocalTrack, LocalTrackEvents, MediaStreamTrackKind, PeerConnection, TrackEndEvent, TrackMuteEvent, TrackPublishEvent, VideoDeviceConstraints, WcmeError, createCameraTrack, createDisplayTrack, createMicrophoneTrack, getAudioInputDevices, getAudioOutputDevices, getDevices, getVideoInputDevices, setOnDeviceChangeHandler } from '@webex/webrtc-core';
3
3
  import { StreamId, SourceState, Policy, PolicySpecificInfo, CodecInfo, JmpScrRequest, ActiveSpeakerNotificationMsg, MediaContent, MediaType, Source, VideoContentHint } from '@webex/json-multistream';
4
4
  export { Logger as JMPLogger, SourceState } from '@webex/json-multistream';
@@ -83,6 +83,33 @@ declare type StreamSignalingMode = 'MID-RID' | 'SSRC';
83
83
 
84
84
  declare type BundlePolicy = 'max-bundle' | 'max-compat';
85
85
 
86
+ declare abstract class Transceiver {
87
+ protected _rtcRtpTransceiver: RTCRtpTransceiver;
88
+ constructor(rtcRtpTransceiver: RTCRtpTransceiver);
89
+ replaceTransceiver(newRtcRtpTransceiver: RTCRtpTransceiver): void;
90
+ protected get receiver(): RTCRtpReceiver;
91
+ protected get sender(): RTCRtpSender;
92
+ get mid(): string | null;
93
+ close(): void;
94
+ }
95
+
96
+ declare class SendOnlyTransceiver extends Transceiver {
97
+ publishedTrack?: LocalTrack;
98
+ csi: number;
99
+ private direction;
100
+ private requested;
101
+ constructor(rtcpRtpTransceiver: RTCRtpTransceiver, csi: number);
102
+ private handleTrackChange;
103
+ replaceTransceiver(newRtcRtpTransceiver: RTCRtpTransceiver): Promise<void>;
104
+ private replacePublishedTrack;
105
+ setTrackRequested(requested: boolean): Promise<void>;
106
+ publishTrack(track: LocalTrack): Promise<void>;
107
+ unpublishTrack(): Promise<void>;
108
+ setActive(enabled: boolean): boolean;
109
+ getStats(): Promise<RTCStatsReport>;
110
+ updateSendParameters(requestedIdEncodingParamsMap: Map<number, EncodingParams>): Promise<void>;
111
+ }
112
+
86
113
  interface TransceiverStatItem {
87
114
  report: RTCStatsReport;
88
115
  currentDirection: RTCRtpTransceiverDirection;
@@ -149,6 +176,8 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
149
176
  private customCodecParameters;
150
177
  private midMap;
151
178
  private currentMid;
179
+ private offerAnswerQueue;
180
+ private setAnswerResolve?;
152
181
  constructor(userOptions?: Partial<MultistreamConnectionOptions>);
153
182
  protected addMid(mediaType: MediaType): void;
154
183
  protected clearMids(): void;
@@ -195,33 +224,6 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
195
224
  getAllCsis(): Record<string, number | undefined>;
196
225
  }
197
226
 
198
- declare abstract class Transceiver {
199
- protected _rtcRtpTransceiver: RTCRtpTransceiver;
200
- constructor(rtcRtpTransceiver: RTCRtpTransceiver);
201
- replaceTransceiver(newRtcRtpTransceiver: RTCRtpTransceiver): void;
202
- protected get receiver(): RTCRtpReceiver;
203
- protected get sender(): RTCRtpSender;
204
- get mid(): string | null;
205
- close(): void;
206
- }
207
-
208
- declare class SendOnlyTransceiver extends Transceiver {
209
- publishedTrack?: LocalTrack;
210
- csi: number;
211
- private direction;
212
- private requested;
213
- constructor(rtcpRtpTransceiver: RTCRtpTransceiver, csi: number);
214
- private handleTrackChange;
215
- replaceTransceiver(newRtcRtpTransceiver: RTCRtpTransceiver): Promise<void>;
216
- private replacePublishedTrack;
217
- setTrackRequested(requested: boolean): Promise<void>;
218
- publishTrack(track: LocalTrack): Promise<void>;
219
- unpublishTrack(): Promise<void>;
220
- setActive(enabled: boolean): boolean;
221
- getStats(): Promise<RTCStatsReport>;
222
- updateSendParameters(requestedIdEncodingParamsMap: Map<number, EncodingParams>): Promise<void>;
223
- }
224
-
225
227
  declare const logger: js_logger.ILogger;
226
228
  declare function setLogLevel(level: ILogLevel): void;
227
229
  declare function getLogLevel(): ILogLevel;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/web-client-media-engine",
3
- "version": "1.41.0",
3
+ "version": "1.42.0",
4
4
  "description": "Web Client Media Engine is common web code for interacting with the multistream media server.",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/cjs/index.js",
@@ -14,7 +14,6 @@
14
14
  "fix": "run-s fix:*",
15
15
  "fix:prettier": "prettier \"src/**/*.ts\" --write",
16
16
  "fix:lint": "eslint src --ext .ts --fix",
17
- "prepare": "husky install",
18
17
  "release": "semantic-release",
19
18
  "test": "run-s build test:*",
20
19
  "test:coverage": "jest --coverage",
@@ -59,6 +58,7 @@
59
58
  "@webex/rtcstats": "^1.0.1",
60
59
  "@webex/ts-sdp": "1.3.1",
61
60
  "@webex/webrtc-core": "^1.6.0",
61
+ "async": "^3.2.4",
62
62
  "bowser": "^2.11.0",
63
63
  "js-logger": "^1.6.1",
64
64
  "typed-emitter": "^2.1.0",
@@ -72,6 +72,7 @@
72
72
  "@semantic-release/changelog": "^6.0.1",
73
73
  "@semantic-release/git": "^10.0.1",
74
74
  "@semantic-release/release-notes-generator": "^10.0.3",
75
+ "@types/async": "^3.2.18",
75
76
  "@types/jest": "^27.4.0",
76
77
  "@types/uuid": "^8.3.4",
77
78
  "@typescript-eslint/eslint-plugin": "^5.9.0",