@webex/web-client-media-engine 1.34.6 → 1.36.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.
@@ -8,6 +8,24 @@ import * as js_logger from 'js-logger';
8
8
  import { ILogLevel } from 'js-logger';
9
9
  export { default as Logger } from 'js-logger';
10
10
 
11
+ declare enum MediaCodecMimeType {
12
+ H264 = "video/H264",
13
+ AV1 = "video/AV1",
14
+ OPUS = "audio/opus"
15
+ }
16
+ declare type EncodingParams = {
17
+ scaleDownRatio: number;
18
+ maxPayloadBitsPerSecond?: number;
19
+ };
20
+ declare enum RecommendedOpusBitrates {
21
+ NB = 12000,
22
+ WB = 20000,
23
+ FB = 40000,
24
+ FB_MONO_MUSIC = 64000,
25
+ FB_STEREO_MUSIC = 128000
26
+ }
27
+ declare function getRecommendedMaxBitrateForFrameSize(requestedMaxFs: number): number | undefined;
28
+
11
29
  declare const EventEmitter_base: new <TT extends EventMap>() => TypedEmitter<TT>;
12
30
  declare class EventEmitter<T extends EventMap> extends EventEmitter_base<T> {
13
31
  }
@@ -52,24 +70,6 @@ declare class MediaRequest {
52
70
  _toJmpScrRequest(): JmpScrRequest;
53
71
  }
54
72
 
55
- declare enum MediaCodecMimeType {
56
- H264 = "video/H264",
57
- AV1 = "video/AV1",
58
- OPUS = "audio/opus"
59
- }
60
- declare type EncodingParams = {
61
- scaleDownRatio: number;
62
- maxPayloadBitsPerSecond?: number;
63
- };
64
- declare enum RecommendedOpusBitrates {
65
- NB = 12000,
66
- WB = 20000,
67
- FB = 40000,
68
- FB_MONO_MUSIC = 64000,
69
- FB_STEREO_MUSIC = 128000
70
- }
71
- declare function getRecommendedMaxBitrateForFrameSize(requestedMaxFs: number): number | undefined;
72
-
73
73
  declare enum OveruseState {
74
74
  NOT_OVERUSED = 0,
75
75
  OVERUSED = 1
@@ -81,6 +81,30 @@ declare type StreamSignalingMode = 'MID-RID' | 'SSRC';
81
81
 
82
82
  declare type BundlePolicy = 'max' | 'compat';
83
83
 
84
+ interface TransceiverStatItem {
85
+ report: RTCStatsReport;
86
+ currentDirection: RTCRtpTransceiverDirection;
87
+ localTrackLabel?: string;
88
+ }
89
+ interface TransceiverStats {
90
+ audio: {
91
+ senders: TransceiverStatItem[];
92
+ receivers: TransceiverStatItem[];
93
+ };
94
+ video: {
95
+ senders: TransceiverStatItem[];
96
+ receivers: TransceiverStatItem[];
97
+ };
98
+ screenShareAudio: {
99
+ senders: TransceiverStatItem[];
100
+ receivers: TransceiverStatItem[];
101
+ };
102
+ screenShareVideo: {
103
+ senders: TransceiverStatItem[];
104
+ receivers: TransceiverStatItem[];
105
+ };
106
+ }
107
+
84
108
  declare type MetricsCallback = (logData: LogData) => void;
85
109
 
86
110
  declare enum MultistreamConnectionEventNames {
@@ -100,6 +124,7 @@ declare type MultistreamConnectionOptions = {
100
124
  disableSimulcast: boolean;
101
125
  streamSignalingMode: StreamSignalingMode;
102
126
  bundlePolicy: BundlePolicy;
127
+ iceServers: RTCIceServer[] | undefined;
103
128
  };
104
129
  declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEvents> {
105
130
  private pc;
@@ -142,6 +167,7 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
142
167
  renewPeerConnection(userOptions?: Partial<MultistreamConnectionOptions>): void;
143
168
  private getReceiveSlotById;
144
169
  getStats(): Promise<StatsReport>;
170
+ getTransceiverStats(): Promise<TransceiverStats>;
145
171
  private preProcessStats;
146
172
  private attachMetricsObserver;
147
173
  setMetricsCallback(callback: MetricsCallback): void;
@@ -181,4 +207,4 @@ declare const logger: js_logger.ILogger;
181
207
  declare function setLogLevel(level: ILogLevel): void;
182
208
  declare function getLogLevel(): ILogLevel;
183
209
 
184
- export { MediaCodecMimeType, MediaRequest, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendOnlyTransceiver, compareReceiveSlotIds, getLogLevel, getRecommendedMaxBitrateForFrameSize, logger, setLogLevel };
210
+ export { MediaCodecMimeType, MediaRequest, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendOnlyTransceiver, TransceiverStats, compareReceiveSlotIds, getLogLevel, getRecommendedMaxBitrateForFrameSize, logger, setLogLevel };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/web-client-media-engine",
3
- "version": "1.34.6",
3
+ "version": "1.36.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",
@@ -58,7 +58,7 @@
58
58
  "@webex/json-multistream": "^1.20.1",
59
59
  "@webex/rtcstats": "^1.0.1",
60
60
  "@webex/ts-sdp": "1.3.1",
61
- "@webex/webrtc-core": "^1.1.1",
61
+ "@webex/webrtc-core": "^1.2.0",
62
62
  "bowser": "^2.11.0",
63
63
  "js-logger": "^1.6.1",
64
64
  "typed-emitter": "^2.1.0",