@webex/web-client-media-engine 2.1.1 → 2.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.
@@ -5,6 +5,7 @@ export { Logger as JMPLogger, StreamState } from '@webex/json-multistream';
5
5
  import { LogData } from '@webex/rtcstats';
6
6
  import TypedEmitter, { EventMap } from 'typed-emitter';
7
7
  import { ReceiveSlot as ReceiveSlot$1 } from 'receive-slot';
8
+ import { AvMediaDescription } from '@webex/ts-sdp';
8
9
  import * as js_logger from 'js-logger';
9
10
  import { ILogLevel, ILogHandler } from 'js-logger';
10
11
  export { ILogHandler, default as Logger } from 'js-logger';
@@ -86,20 +87,34 @@ declare class StreamRequest {
86
87
 
87
88
  declare abstract class Transceiver {
88
89
  protected _rtcRtpTransceiver: RTCRtpTransceiver;
89
- constructor(rtcRtpTransceiver: RTCRtpTransceiver);
90
+ mid: string;
91
+ constructor(rtcRtpTransceiver: RTCRtpTransceiver, mid: string);
90
92
  replaceTransceiver(newRtcRtpTransceiver: RTCRtpTransceiver): void;
91
93
  protected get receiver(): RTCRtpReceiver;
92
94
  protected get sender(): RTCRtpSender;
93
- get mid(): string | null;
94
95
  close(): void;
96
+ abstract resetStreamSignaler(): void;
97
+ }
98
+
99
+ interface EgressStreamSignaler {
100
+ signalStreams(simulcastEnabled: boolean, rtxEnabled: boolean, mLine: AvMediaDescription): void;
101
+ getSenderIds(): StreamId[];
102
+ getEncodingIndexForStreamId(streamId: StreamId): number;
103
+ reset(): void;
104
+ setCodecParameters(parameters: {
105
+ [key: string]: string | undefined;
106
+ }): void;
107
+ deleteCodecParameters(parameters: string[]): void;
95
108
  }
96
109
 
97
110
  declare class SendOnlyTransceiver extends Transceiver {
98
111
  publishedTrack?: LocalTrack;
99
112
  csi: number;
100
113
  private direction;
114
+ private streamSignaler;
115
+ rtxEnabled: boolean;
101
116
  private requested;
102
- constructor(rtcpRtpTransceiver: RTCRtpTransceiver, csi: number);
117
+ constructor(rtcpRtpTransceiver: RTCRtpTransceiver, mid: string, csi: number, signaler: EgressStreamSignaler);
103
118
  private handleTrackChange;
104
119
  replaceTransceiver(newRtcRtpTransceiver: RTCRtpTransceiver): Promise<void>;
105
120
  private replacePublishedTrack;
@@ -109,6 +124,15 @@ declare class SendOnlyTransceiver extends Transceiver {
109
124
  setActive(enabled: boolean): boolean;
110
125
  getStats(): Promise<RTCStatsReport>;
111
126
  updateSendParameters(requestedIdEncodingParamsMap: Map<number, EncodingParams>): Promise<void>;
127
+ private isSimulcastEnabled;
128
+ signalStreams(mLine: AvMediaDescription): void;
129
+ get senderIds(): StreamId[];
130
+ getEncodingIndexForStreamId(id: StreamId): number;
131
+ resetStreamSignaler(): void;
132
+ setCodecParameters(parameters: {
133
+ [key: string]: string | undefined;
134
+ }): void;
135
+ deleteCodecParameters(parameters: string[]): void;
112
136
  }
113
137
 
114
138
  interface TransceiverStatItem {
@@ -164,7 +188,6 @@ declare type MultistreamConnectionOptions = {
164
188
  declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEvents> {
165
189
  private pc;
166
190
  private sendTransceivers;
167
- private streamSignalerManager;
168
191
  private recvTransceivers;
169
192
  private dataChannel;
170
193
  private jmpSessions;
@@ -174,14 +197,10 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
174
197
  private overuseStateManager;
175
198
  private overuseUpdateCallback;
176
199
  private options;
177
- private customCodecParameters;
178
- private midMap;
179
- private currentMid;
200
+ private midPredictor;
180
201
  private offerAnswerQueue;
181
202
  private setAnswerResolve?;
182
203
  constructor(userOptions?: Partial<MultistreamConnectionOptions>);
183
- protected addMid(mediaType: MediaType): void;
184
- protected clearMids(): void;
185
204
  private initializePeerConnection;
186
205
  getConnectionState(): ConnectionState;
187
206
  private getVideoEncodingOptions;
@@ -207,6 +226,8 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
207
226
  private prepareLocalOfferForRemoteServer;
208
227
  private preProcessRemoteAnswer;
209
228
  private getSendTransceiverOrThrow;
229
+ private getSendTransceiverByMidOrThrow;
230
+ private getRecvTransceiverByMidOrThrow;
210
231
  getPublishedTracks(): LocalTrack[];
211
232
  setCodecParameters(mediaType: MediaType, parameters: {
212
233
  [key: string]: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/web-client-media-engine",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
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",