@webex/web-client-media-engine 3.23.3 → 3.24.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,6 +1,6 @@
1
1
  import { LocalStream, ConnectionState, ConnectionType, media } from '@webex/webrtc-core';
2
2
  export { AudioDeviceConstraints, ConnectionState, ConnectionType, LocalCameraStream, LocalDisplayStream, LocalMicrophoneStream, LocalStream, LocalStreamEventNames, LocalSystemAudioStream, MediaStreamTrackKind, PeerConnection, RemoteMediaState, RemoteStream, RemoteStreamEventNames, StreamEventNames, VideoContentHint, VideoDeviceConstraints, Logger as WebRtcCoreLogger, WebrtcCoreError, WebrtcCoreErrorType, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getVideoInputDevices, setOnDeviceChangeHandler } from '@webex/webrtc-core';
3
- import { StreamId, StreamState, MediaContent, NamedMediaGroup, MediaType, Policy, PolicySpecificInfo, CodecInfo, StreamRequest as StreamRequest$1 } from '@webex/json-multistream';
3
+ import { SsrcStreamId, StreamState, MediaContent, MediaType, NamedMediaGroup, Policy, PolicySpecificInfo, CodecInfo, StreamRequest as StreamRequest$1 } from '@webex/json-multistream';
4
4
  export { ActiveSpeakerInfo, CodecInfo, H264Codec, Logger as JMPLogger, MediaContent, MediaFamily, MediaType, NamedMediaGroup, Policy, PolicySpecificInfo, ReceiverSelectedInfo, StreamState, getMediaContent, getMediaFamily, getMediaType } from '@webex/json-multistream';
5
5
  import { LoggerCallback } from '@webex/rtcstats';
6
6
  export { LogData, LoggerCallback as MetricsCallback } from '@webex/rtcstats';
@@ -60,8 +60,8 @@ declare enum OveruseState {
60
60
 
61
61
  type OveruseUpdateCallback = (state: OveruseState) => void;
62
62
 
63
- type ReceiveSlotId = StreamId;
64
- declare function compareReceiveSlotIds(id1: ReceiveSlotId, id2: ReceiveSlotId): boolean;
63
+ type ReceiveSlotId = SsrcStreamId;
64
+ declare function areReceiveSlotIdsEqual(id1: ReceiveSlotId, id2: ReceiveSlotId): boolean;
65
65
  declare enum ReceiveSlotEvents {
66
66
  MediaStarted = "media-started",
67
67
  MediaStopped = "media-stopped",
@@ -109,8 +109,8 @@ declare class EgressSdpMunger {
109
109
  }): void;
110
110
  mungeLocalDescriptionForRemoteServer(mediaDescription: AvMediaDescription, mediaContent: MediaContent, csi: number): void;
111
111
  mungeRemoteDescription(mediaDescription: AvMediaDescription): void;
112
- getSenderIds(): StreamId[];
113
- getEncodingIndexForStreamId(streamId: StreamId): number;
112
+ getSenderIds(): SsrcStreamId[];
113
+ getEncodingIndexForStreamId(streamId: SsrcStreamId): number;
114
114
  setCodecParameters(parameters: {
115
115
  [key: string]: string | undefined;
116
116
  }): void;
@@ -122,8 +122,13 @@ type StatsMap = Map<string, any>;
122
122
  declare abstract class Transceiver {
123
123
  protected _rtcRtpTransceiver: RTCRtpTransceiver;
124
124
  mid: string;
125
+ protected mediaType: MediaType;
125
126
  twccDisabled: boolean;
126
- constructor(rtcRtpTransceiver: RTCRtpTransceiver, mid: string);
127
+ constructor(config: {
128
+ rtcRtpTransceiver: RTCRtpTransceiver;
129
+ mid: string;
130
+ mediaType: MediaType;
131
+ });
127
132
  replaceTransceiver(newRtcRtpTransceiver: RTCRtpTransceiver): void;
128
133
  protected get receiver(): RTCRtpReceiver;
129
134
  protected get sender(): RTCRtpSender;
@@ -145,14 +150,19 @@ declare class SendOnlyTransceiver extends Transceiver {
145
150
  streamPublishStateChange: TypedEvent<() => void>;
146
151
  negotiationNeeded: TypedEvent<(offerAnswerType: OfferAnswerType) => void>;
147
152
  namedMediaGroupsChange: TypedEvent<() => void>;
148
- private mediaType;
149
153
  private requestedIdEncodingParamsMap;
150
154
  namedMediaGroups?: NamedMediaGroup[];
151
155
  private updateSendParametersQueue;
152
156
  metadata: {
153
157
  lastRequestedUpdateTimestampsMap: Map<number, number>;
154
158
  };
155
- constructor(rtcRtpTransceiver: RTCRtpTransceiver, mid: string, csi: number, munger: EgressSdpMunger, mediaType: MediaType);
159
+ constructor(config: {
160
+ rtcRtpTransceiver: RTCRtpTransceiver;
161
+ mid: string;
162
+ mediaType: MediaType;
163
+ munger: EgressSdpMunger;
164
+ csi: number;
165
+ });
156
166
  private replaceSenderSource;
157
167
  private handleTrackChange;
158
168
  private handleStreamConstraintsChange;
@@ -171,9 +181,9 @@ declare class SendOnlyTransceiver extends Transceiver {
171
181
  mungeLocalDescription(mediaDescription: AvMediaDescription): void;
172
182
  mungeLocalDescriptionForRemoteServer(mediaDescription: AvMediaDescription): void;
173
183
  mungeRemoteDescription(mediaDescription: AvMediaDescription): void;
174
- get senderIds(): StreamId[];
184
+ get senderIds(): SsrcStreamId[];
175
185
  get numActiveSimulcastLayers(): number | undefined;
176
- getEncodingIndexForStreamId(id: StreamId): number;
186
+ getEncodingIndexForStreamId(id: SsrcStreamId): number;
177
187
  resetSdpMunger(): void;
178
188
  setCodecParameters(parameters: {
179
189
  [key: string]: string | undefined;
@@ -271,6 +281,7 @@ type MultistreamConnectionOptions = {
271
281
  disableContentSimulcast: boolean;
272
282
  disableAudioTwcc: boolean;
273
283
  doFullIce: boolean;
284
+ metricsCallback: LoggerCallback;
274
285
  };
275
286
  declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEvents> {
276
287
  private pc;
@@ -330,7 +341,6 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
330
341
  private preProcessStats;
331
342
  private attachMetricsObserver;
332
343
  forceRtcMetricsCallback(): void | undefined;
333
- setMetricsCallback(callback: LoggerCallback): void;
334
344
  setOveruseUpdateCallback(callback: OveruseUpdateCallback): void;
335
345
  getCsiByMediaType(mediaType: MediaType): number | undefined;
336
346
  getAllCsis(): Record<string, number | undefined>;
@@ -344,4 +354,4 @@ declare function setLogHandler(logHandler: ILogHandler): void;
344
354
  declare const DeviceKind: typeof media.DeviceKind;
345
355
  //# sourceMappingURL=index.d.ts.map
346
356
 
347
- export { DeviceKind, MediaCodecMimeType, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendSlot, StreamRequest, TransceiverStatItem, TransceiverStats, WcmeError, WcmeErrorType, compareReceiveSlotIds, getLogLevel, getRecommendedMaxBitrateForFrameSize, logErrorAndThrow, setLogHandler, setLogLevel };
357
+ export { DeviceKind, MediaCodecMimeType, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendSlot, StreamRequest, TransceiverStatItem, TransceiverStats, WcmeError, WcmeErrorType, areReceiveSlotIdsEqual, getLogLevel, getRecommendedMaxBitrateForFrameSize, logErrorAndThrow, setLogHandler, setLogLevel };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/web-client-media-engine",
3
- "version": "3.23.3",
3
+ "version": "3.24.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",
@@ -55,7 +55,7 @@
55
55
  "yarn": ">=1.19.1"
56
56
  },
57
57
  "dependencies": {
58
- "@webex/json-multistream": "2.1.3",
58
+ "@webex/json-multistream": "2.1.6",
59
59
  "@webex/rtcstats": "^1.3.3",
60
60
  "@webex/ts-events": "^1.0.1",
61
61
  "@webex/ts-sdp": "1.7.0",