@webex/web-client-media-engine 1.42.0 → 2.0.1

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,9 +1,9 @@
1
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
- import { StreamId, SourceState, Policy, PolicySpecificInfo, CodecInfo, JmpScrRequest, ActiveSpeakerNotificationMsg, MediaContent, MediaType, Source, VideoContentHint } from '@webex/json-multistream';
4
- export { Logger as JMPLogger, SourceState } from '@webex/json-multistream';
5
- import TypedEmitter, { EventMap } from 'typed-emitter';
3
+ import { StreamId, StreamState, ActiveSpeakerNotificationMsg, MediaContent, MediaType, StreamRequest } from '@webex/json-multistream';
4
+ export { Logger as JMPLogger, StreamRequest, StreamState } from '@webex/json-multistream';
6
5
  import { LogData } from '@webex/rtcstats';
6
+ import TypedEmitter, { EventMap } from 'typed-emitter';
7
7
  import * as js_logger from 'js-logger';
8
8
  import { ILogLevel, ILogHandler } from 'js-logger';
9
9
  export { ILogHandler, default as Logger } from 'js-logger';
@@ -30,6 +30,13 @@ declare const EventEmitter_base: new <TT extends EventMap>() => TypedEmitter<TT>
30
30
  declare class EventEmitter<T extends EventMap> extends EventEmitter_base<T> {
31
31
  }
32
32
 
33
+ declare enum OveruseState {
34
+ NOT_OVERUSED = 0,
35
+ OVERUSED = 1
36
+ }
37
+
38
+ declare type OveruseUpdateCallback = (state: OveruseState) => void;
39
+
33
40
  declare type ReceiveSlotId = StreamId;
34
41
  declare function compareReceiveSlotIds(id1: ReceiveSlotId, id2: ReceiveSlotId): boolean;
35
42
  declare enum ReceiveSlotEvents {
@@ -40,7 +47,7 @@ declare enum ReceiveSlotEvents {
40
47
  interface ReceiverEvents extends EventMap {
41
48
  [ReceiveSlotEvents.MediaStarted]: () => void;
42
49
  [ReceiveSlotEvents.MediaStopped]: () => void;
43
- [ReceiveSlotEvents.SourceUpdate]: (state: SourceState, csi?: number) => void;
50
+ [ReceiveSlotEvents.SourceUpdate]: (state: StreamState, csi?: number) => void;
44
51
  }
45
52
 
46
53
  declare class ReceiveSlot extends EventEmitter<ReceiverEvents> {
@@ -55,30 +62,13 @@ declare class ReceiveSlot extends EventEmitter<ReceiverEvents> {
55
62
  private handleTrackUnmuted;
56
63
  private removeTrackHandlers;
57
64
  replaceTrack(newTrack: MediaStreamTrack): void;
58
- _updateSource(state: SourceState, csi?: number): void;
65
+ _updateSource(state: StreamState, csi?: number): void;
59
66
  close(): void;
60
67
  get id(): ReceiveSlotId | null;
61
68
  get stream(): MediaStream;
62
69
  get currentRxCsi(): number | undefined;
63
70
  }
64
71
 
65
- declare class MediaRequest {
66
- policy: Policy;
67
- policySpecificInfo: PolicySpecificInfo;
68
- receiveSlots: ReceiveSlot[];
69
- maxPayloadBitsPerSecond: number;
70
- codecInfos: CodecInfo[];
71
- constructor(policy: Policy, policySpecificInfo: PolicySpecificInfo, receiveSlots: ReceiveSlot[], maxPayloadBitsPerSecond: number, codecInfos?: CodecInfo[]);
72
- _toJmpScrRequest(): JmpScrRequest;
73
- }
74
-
75
- declare enum OveruseState {
76
- NOT_OVERUSED = 0,
77
- OVERUSED = 1
78
- }
79
-
80
- declare type OveruseUpdateCallback = (state: OveruseState) => void;
81
-
82
72
  declare type StreamSignalingMode = 'MID-RID' | 'SSRC';
83
73
 
84
74
  declare type BundlePolicy = 'max-bundle' | 'max-compat';
@@ -186,16 +176,15 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
186
176
  private getVideoEncodingOptions;
187
177
  private createSendTransceiver;
188
178
  private createJmpSession;
189
- private sendSourceWarnings;
190
179
  private updateRequestedStreams;
191
180
  private createDataChannel;
192
181
  close(): void;
193
- private maybeSendSourceIndication;
194
- sendSourceIndication(mediaType: MediaType, numLiveSources: number, sources?: Source[], videoContentHint?: VideoContentHint | undefined): void;
182
+ private sendMediaRequestStatus;
183
+ sendSourceAdvertisement(mediaType: MediaType): void;
195
184
  publishTrack(track: LocalTrack): Promise<void>;
196
185
  unpublishTrack(track: LocalTrack): Promise<void>;
197
186
  private addTrackListeners;
198
- private getVideoSources;
187
+ private getVideoStreamStates;
199
188
  createReceiveSlot(mediaType: MediaType): Promise<ReceiveSlot>;
200
189
  getIngressPayloadType(mediaType: MediaType, mimeType: MediaCodecMimeType): number;
201
190
  createOffer(): Promise<RTCSessionDescriptionInit>;
@@ -211,7 +200,7 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
211
200
  [key: string]: string | undefined;
212
201
  }): Promise<void>;
213
202
  deleteCodecParameters(mediaType: MediaType, parameters: string[]): Promise<void>;
214
- requestMedia(mediaType: MediaType, mediaRequests: MediaRequest[]): void;
203
+ requestMedia(mediaType: MediaType, streamRequests: StreamRequest[]): void;
215
204
  renewPeerConnection(userOptions?: Partial<MultistreamConnectionOptions>): void;
216
205
  private getReceiveSlotById;
217
206
  getStats(): Promise<RTCStatsReport>;
@@ -229,4 +218,4 @@ declare function setLogLevel(level: ILogLevel): void;
229
218
  declare function getLogLevel(): ILogLevel;
230
219
  declare function setLogHandler(logHandler: ILogHandler): void;
231
220
 
232
- export { MediaCodecMimeType, MediaRequest, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendOnlyTransceiver, TransceiverStats, compareReceiveSlotIds, getLogLevel, getRecommendedMaxBitrateForFrameSize, logger, setLogHandler, setLogLevel };
221
+ export { MediaCodecMimeType, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendOnlyTransceiver, TransceiverStats, compareReceiveSlotIds, getLogLevel, getRecommendedMaxBitrateForFrameSize, logger, setLogHandler, setLogLevel };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/web-client-media-engine",
3
- "version": "1.42.0",
3
+ "version": "2.0.1",
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",
@@ -54,8 +54,9 @@
54
54
  "yarn": ">=1.19.1"
55
55
  },
56
56
  "dependencies": {
57
- "@webex/json-multistream": "^1.22.0",
57
+ "@webex/json-multistream": "^2.0.1",
58
58
  "@webex/rtcstats": "^1.0.1",
59
+ "@webex/ts-events": "^1.0.1",
59
60
  "@webex/ts-sdp": "1.3.1",
60
61
  "@webex/webrtc-core": "^1.6.0",
61
62
  "async": "^3.2.4",
@@ -65,8 +66,6 @@
65
66
  "uuid": "^8.3.2"
66
67
  },
67
68
  "devDependencies": {
68
- "@commitlint/cli": "^16.0.2",
69
- "@commitlint/config-conventional": "^16.0.0",
70
69
  "@rollup/plugin-commonjs": "^21.0.1",
71
70
  "@rollup/plugin-node-resolve": "^13.1.3",
72
71
  "@semantic-release/changelog": "^6.0.1",
@@ -85,11 +84,9 @@
85
84
  "eslint-plugin-jest": "^25.3.4",
86
85
  "eslint-plugin-jsdoc": "^37.6.1",
87
86
  "eslint-plugin-prettier": "^4.0.0",
88
- "husky": "^7.0.4",
89
87
  "jest": "^27.4.7",
90
88
  "jest-canvas-mock": "^2.4.0",
91
89
  "jest-fetch-mock": "^3.0.3",
92
- "lint-staged": "^12.1.7",
93
90
  "npm-run-all": "^4.1.5",
94
91
  "prettier": "^2.5.1",
95
92
  "rimraf": "^3.0.2",