@webex/web-client-media-engine 3.3.1 → 3.5.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 } from '@webex/webrtc-core';
2
- export { AudioDeviceConstraints, ConnectionState, LocalCameraStream, LocalDisplayStream, LocalMicrophoneStream, LocalStream, LocalStreamEventNames, LocalSystemAudioStream, MediaStreamTrackKind, PeerConnection, RemoteStream, StreamEventNames, VideoDeviceConstraints, WcmeError, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getVideoInputDevices, setOnDeviceChangeHandler } from '@webex/webrtc-core';
3
- import { StreamId, StreamState, MediaType, Policy, PolicySpecificInfo, CodecInfo, StreamRequest as StreamRequest$1, MediaContent } from '@webex/json-multistream';
2
+ export { AudioDeviceConstraints, ConnectionState, LocalCameraStream, LocalDisplayStream, LocalMicrophoneStream, LocalStream, LocalStreamEventNames, LocalSystemAudioStream, MediaStreamTrackKind, PeerConnection, RemoteStream, StreamEventNames, VideoDeviceConstraints, WcmeError, Logger as WebRtcCoreLogger, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getVideoInputDevices, setOnDeviceChangeHandler } from '@webex/webrtc-core';
3
+ import { StreamId, StreamState, MediaContent, MediaType, Policy, PolicySpecificInfo, CodecInfo, StreamRequest as StreamRequest$1 } from '@webex/json-multistream';
4
4
  export { ActiveSpeakerInfo, CodecInfo, H264Codec, Logger as JMPLogger, MediaContent, MediaFamily, MediaType, Policy, PolicySpecificInfo, ReceiverSelectedInfo, StreamState, getMediaContent, getMediaFamily, getMediaType } from '@webex/json-multistream';
5
5
  import { LogData } from '@webex/rtcstats';
6
6
  import TypedEmitter, { EventMap } from 'typed-emitter';
@@ -73,15 +73,15 @@ declare class ReceiveSlot extends EventEmitter<ReceiverEvents> {
73
73
  get currentRxCsi(): number | undefined;
74
74
  }
75
75
 
76
- declare type StreamSignalingMode = 'MID-RID' | 'SSRC';
77
-
78
- declare type BundlePolicy = 'max-bundle' | 'max-compat';
79
-
80
- interface EgressStreamSignaler {
81
- signalStreams(simulcastEnabled: boolean, rtxEnabled: boolean, mLine: AvMediaDescription): void;
76
+ declare class EgressSdpMunger {
77
+ private streamIds;
78
+ private customCodecParameters;
79
+ reset(): void;
80
+ mungeLocalDescription(mediaDescription: AvMediaDescription, simulcastEnabled: boolean, rtxEnabled: boolean): void;
81
+ mungeLocalDescriptionForRemoteServer(mediaDescription: AvMediaDescription, mediaContent: MediaContent, csi: number): void;
82
+ mungeRemoteDescription(mediaDescription: AvMediaDescription): void;
82
83
  getSenderIds(): StreamId[];
83
84
  getEncodingIndexForStreamId(streamId: StreamId): number;
84
- reset(): void;
85
85
  setCodecParameters(parameters: {
86
86
  [key: string]: string | undefined;
87
87
  }): void;
@@ -96,7 +96,7 @@ declare abstract class Transceiver {
96
96
  protected get receiver(): RTCRtpReceiver;
97
97
  protected get sender(): RTCRtpSender;
98
98
  close(): void;
99
- abstract resetStreamSignaler(): void;
99
+ abstract resetSdpMunger(): void;
100
100
  }
101
101
 
102
102
  declare enum OfferAnswerType {
@@ -107,7 +107,7 @@ declare class SendOnlyTransceiver extends Transceiver {
107
107
  publishedStream?: LocalStream;
108
108
  csi: number;
109
109
  private direction;
110
- private streamSignaler;
110
+ private munger;
111
111
  rtxEnabled: boolean;
112
112
  streamMuteStateChange: TypedEvent<() => void>;
113
113
  streamPublishStateChange: TypedEvent<() => void>;
@@ -115,7 +115,7 @@ declare class SendOnlyTransceiver extends Transceiver {
115
115
  private mediaType;
116
116
  private requested;
117
117
  private requestedIdEncodingParamsMap;
118
- constructor(rtcRtpTransceiver: RTCRtpTransceiver, mid: string, csi: number, signaler: EgressStreamSignaler, mediaType: MediaType);
118
+ constructor(rtcRtpTransceiver: RTCRtpTransceiver, mid: string, csi: number, munger: EgressSdpMunger, mediaType: MediaType);
119
119
  private handleTrackChange;
120
120
  private handleStreamConstraintsChange;
121
121
  private handleStreamMuteStateChange;
@@ -124,15 +124,18 @@ declare class SendOnlyTransceiver extends Transceiver {
124
124
  setStreamRequested(requested: boolean): Promise<void>;
125
125
  publishStream(stream: LocalStream): Promise<void>;
126
126
  unpublishStream(): Promise<void>;
127
- setActive(enabled: boolean): void;
127
+ get active(): boolean;
128
+ set active(enabled: boolean);
128
129
  getStats(): Promise<RTCStatsReport>;
129
130
  updateSendParameters(requestedIdEncodingParamsMap: Map<number, EncodingParams>): Promise<void>;
130
131
  private isSimulcastEnabled;
131
- signalStreams(mLine: AvMediaDescription): void;
132
+ mungeLocalDescription(mediaDescription: AvMediaDescription): void;
133
+ mungeLocalDescriptionForRemoteServer(mediaDescription: AvMediaDescription): void;
134
+ mungeRemoteDescription(mediaDescription: AvMediaDescription): void;
132
135
  get senderIds(): StreamId[];
133
136
  get numActiveSimulcastLayers(): number | undefined;
134
137
  getEncodingIndexForStreamId(id: StreamId): number;
135
- resetStreamSignaler(): void;
138
+ resetSdpMunger(): void;
136
139
  setCodecParameters(parameters: {
137
140
  [key: string]: string | undefined;
138
141
  }): void;
@@ -144,6 +147,7 @@ declare class SendSlot {
144
147
  constructor(sendTransceiver: SendOnlyTransceiver);
145
148
  publishStream(stream: LocalStream): Promise<void>;
146
149
  unpublishStream(): Promise<void>;
150
+ get active(): boolean;
147
151
  set active(active: boolean);
148
152
  setCodecParameters(parameters: {
149
153
  [key: string]: string | undefined;
@@ -187,6 +191,8 @@ interface TransceiverStats {
187
191
  };
188
192
  }
189
193
 
194
+ declare type BundlePolicy = 'max-bundle' | 'max-compat';
195
+
190
196
  declare type MetricsCallback = (logData: LogData) => void;
191
197
  declare enum MultistreamConnectionEventNames {
192
198
  VideoSourceCountUpdate = "video-source-count-update",
@@ -204,7 +210,6 @@ interface MultistreamConnectionEvents extends EventMap {
204
210
  }
205
211
  declare type MultistreamConnectionOptions = {
206
212
  disableSimulcast: boolean;
207
- streamSignalingMode: StreamSignalingMode;
208
213
  bundlePolicy: BundlePolicy;
209
214
  iceServers: RTCIceServer[] | undefined;
210
215
  disableContentSimulcast: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/web-client-media-engine",
3
- "version": "3.3.1",
3
+ "version": "3.5.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",
@@ -57,7 +57,7 @@
57
57
  "@webex/json-multistream": "^2.0.1",
58
58
  "@webex/rtcstats": "^1.0.2",
59
59
  "@webex/ts-events": "^1.0.1",
60
- "@webex/ts-sdp": "1.3.1",
60
+ "@webex/ts-sdp": "1.5.0",
61
61
  "@webex/webrtc-core": "2.1.0",
62
62
  "async": "^3.2.4",
63
63
  "bowser": "^2.11.0",