@webex/web-client-media-engine 3.37.0 → 3.38.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.
- package/dist/cjs/index.js +408 -222
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +404 -223
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +33 -7
- package/package.json +4 -4
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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, createCameraAndMicrophoneStreams, createCameraStream, createDisplayMedia, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getVideoInputDevices, setOnDeviceChangeHandler } from '@webex/webrtc-core';
|
|
3
|
-
import { SsrcStreamId, StreamState, MediaContent, MediaType, NamedMediaGroup, Policy, PolicySpecificInfo,
|
|
4
|
-
export { ActiveSpeakerInfo, CodecInfo, H264Codec, Logger as JMPLogger, MediaContent, MediaFamily, MediaType, NamedMediaGroup, Policy, PolicySpecificInfo, ReceiverSelectedInfo, StreamState, getMediaContent, getMediaFamily, getMediaType } from '@webex/json-multistream';
|
|
3
|
+
import { CodecInfo, AV1Codec, H264Codec, SsrcStreamId, StreamState, MediaContent, MediaType, NamedMediaGroup, Policy, PolicySpecificInfo, StreamRequest as StreamRequest$1 } from '@webex/json-multistream';
|
|
4
|
+
export { AV1Codec, 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';
|
|
7
7
|
import TypedEmitter, { EventMap } from 'typed-emitter';
|
|
@@ -16,12 +16,27 @@ declare enum MediaCodecMimeType {
|
|
|
16
16
|
RTX = "video/rtx",
|
|
17
17
|
OPUS = "audio/opus"
|
|
18
18
|
}
|
|
19
|
-
type
|
|
19
|
+
type SupportedResolution = '1080p' | '720p' | '540p' | '360p' | '180p' | '90p';
|
|
20
|
+
type BaseVideoEncodingParams = {
|
|
20
21
|
maxPayloadBitsPerSecond?: number;
|
|
21
|
-
maxFs?: number;
|
|
22
22
|
maxWidth?: number;
|
|
23
23
|
maxHeight?: number;
|
|
24
24
|
};
|
|
25
|
+
type H264EncodingParams = BaseVideoEncodingParams & {
|
|
26
|
+
maxFs?: number;
|
|
27
|
+
maxFps?: number;
|
|
28
|
+
maxMbps?: number;
|
|
29
|
+
};
|
|
30
|
+
type AV1EncodingParams = BaseVideoEncodingParams & {
|
|
31
|
+
levelIdx?: number;
|
|
32
|
+
tier?: number;
|
|
33
|
+
maxPicSize?: number;
|
|
34
|
+
maxDecodeRate?: number;
|
|
35
|
+
};
|
|
36
|
+
type OpusEncodingParams = {
|
|
37
|
+
maxPayloadBitsPerSecond?: number;
|
|
38
|
+
};
|
|
39
|
+
type EncodingParams = H264EncodingParams | AV1EncodingParams | OpusEncodingParams;
|
|
25
40
|
declare enum RecommendedOpusBitrates {
|
|
26
41
|
NB = 12000,
|
|
27
42
|
WB = 20000,
|
|
@@ -29,8 +44,12 @@ declare enum RecommendedOpusBitrates {
|
|
|
29
44
|
FB_MONO_MUSIC = 64000,
|
|
30
45
|
FB_STEREO_MUSIC = 128000
|
|
31
46
|
}
|
|
47
|
+
declare function codecToEncodingParams(codecInfo: CodecInfo): AV1Codec | H264Codec | undefined;
|
|
32
48
|
declare function getRecommendedMaxBitrateForFrameSize(requestedMaxFs: number): number;
|
|
33
|
-
type CodecParameters = Record<string, string | undefined>;
|
|
49
|
+
type CodecParameters = Record<string, string | undefined>;
|
|
50
|
+
declare function getRecommendedMaxBitrateForPicSize(requestedMaxPicSize: number): number;
|
|
51
|
+
declare function getFrameSizeForPicSize(maxPicSize: number | undefined): number | undefined;
|
|
52
|
+
declare function isEncodingCodecSupported(): boolean;
|
|
34
53
|
|
|
35
54
|
declare enum WcmeErrorType {
|
|
36
55
|
CREATE_OFFER_FAILED = "CREATE_OFFER_FAILED",
|
|
@@ -46,6 +65,7 @@ declare enum WcmeErrorType {
|
|
|
46
65
|
SET_SOURCE_STATE_OVERRIDE_FAILED = "SET_SOURCE_STATE_OVERRIDE_FAILED",
|
|
47
66
|
DATA_CHANNEL_SEND_FAILED = "DATA_CHANNEL_SEND_FAILED",
|
|
48
67
|
RENEW_PEER_CONNECTION_FAILED = "RENEW_PEER_CONNECTION_FAILED",
|
|
68
|
+
INVALID_CODEC_PARAMS = "INVALID_CODEC_PARAMS",
|
|
49
69
|
UNSUPPORTED_CONFIG = "UNSUPPORTED_CONFIG"
|
|
50
70
|
}
|
|
51
71
|
declare class WcmeError {
|
|
@@ -117,6 +137,7 @@ declare class EgressSdpMunger {
|
|
|
117
137
|
rtxEnabled: boolean;
|
|
118
138
|
twccDisabled: boolean;
|
|
119
139
|
forceSoftwareEncoder: boolean;
|
|
140
|
+
supportedCodecs: MediaCodecMimeType[];
|
|
120
141
|
}): void;
|
|
121
142
|
mungeLocalDescriptionForRemoteServer(mediaDescription: AvMediaDescription, mediaContent: MediaContent, csi: number, mungeOptions?: {
|
|
122
143
|
injectDummyCandidates: boolean;
|
|
@@ -166,10 +187,12 @@ declare class SendOnlyTransceiver extends Transceiver {
|
|
|
166
187
|
negotiationNeeded: TypedEvent<(offerAnswerType: OfferAnswerType) => void>;
|
|
167
188
|
namedMediaGroupsChange: TypedEvent<() => void>;
|
|
168
189
|
private requestedIdEncodingParamsMap;
|
|
190
|
+
private selectedPayloadType;
|
|
169
191
|
namedMediaGroups?: NamedMediaGroup[];
|
|
170
192
|
private updateSendParametersQueue;
|
|
171
193
|
private sourceStateOverride?;
|
|
172
194
|
sourceStateOverrideChange: TypedEvent<() => void>;
|
|
195
|
+
private supportedCodecs;
|
|
173
196
|
metadata: {
|
|
174
197
|
lastRequestedUpdateTimestampsMap: Map<number, number>;
|
|
175
198
|
};
|
|
@@ -179,6 +202,7 @@ declare class SendOnlyTransceiver extends Transceiver {
|
|
|
179
202
|
mediaType: MediaType;
|
|
180
203
|
munger: EgressSdpMunger;
|
|
181
204
|
csi: number;
|
|
205
|
+
supportedCodecs: MediaCodecMimeType[];
|
|
182
206
|
});
|
|
183
207
|
private replaceSenderSource;
|
|
184
208
|
private handleTrackChange;
|
|
@@ -194,7 +218,7 @@ declare class SendOnlyTransceiver extends Transceiver {
|
|
|
194
218
|
get active(): boolean;
|
|
195
219
|
set active(enabled: boolean);
|
|
196
220
|
getStats(): Promise<StatsMap>;
|
|
197
|
-
updateSendParameters(requestedIdEncodingParamsMap: Map<number, EncodingParams
|
|
221
|
+
updateSendParameters(requestedIdEncodingParamsMap: Map<number, EncodingParams>, payloadType?: number): Promise<void>;
|
|
198
222
|
private isSimulcastEnabled;
|
|
199
223
|
mungeLocalDescription(mediaDescription: AvMediaDescription): void;
|
|
200
224
|
mungeLocalDescriptionForRemoteServer(mediaDescription: AvMediaDescription, mungeOptions?: {
|
|
@@ -309,6 +333,7 @@ type MultistreamConnectionOptions = {
|
|
|
309
333
|
preferredStartingBitrateKbps: number;
|
|
310
334
|
metricsCallback: LoggerCallback;
|
|
311
335
|
enableInboundAudioLevelMonitoring: boolean;
|
|
336
|
+
enableAV1SlidesSupport: boolean;
|
|
312
337
|
};
|
|
313
338
|
declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEvents> {
|
|
314
339
|
private id;
|
|
@@ -343,6 +368,7 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
|
|
|
343
368
|
private getVideoEncodingOptions;
|
|
344
369
|
private getCustomSendVideoCodecParams;
|
|
345
370
|
private getCustomReceiveVideoCodecParams;
|
|
371
|
+
private getSupportedCodecs;
|
|
346
372
|
private createSendTransceiver;
|
|
347
373
|
createSendSlot(mediaType: MediaType, active?: boolean): SendSlot;
|
|
348
374
|
private createJmpSession;
|
|
@@ -390,4 +416,4 @@ declare function setLogHandler(logHandler: ILogHandler): void;
|
|
|
390
416
|
declare const DeviceKind: typeof media.DeviceKind;
|
|
391
417
|
//# sourceMappingURL=index.d.ts.map
|
|
392
418
|
|
|
393
|
-
export { AudioMetadata, CodecParameters, DeviceKind, MediaCodecMimeType, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, MultistreamConnectionOptions, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendSlot, StatsMap, StreamRequest, TransceiverStatItem, TransceiverStats, VideoMetadata, WcmeError, WcmeErrorType, areReceiveSlotIdsEqual, getLogLevel, getRecommendedMaxBitrateForFrameSize, logErrorAndThrow, setLogHandler, setLogLevel };
|
|
419
|
+
export { AV1EncodingParams, AudioMetadata, BaseVideoEncodingParams, CodecParameters, DeviceKind, EncodingParams, H264EncodingParams, MediaCodecMimeType, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, MultistreamConnectionOptions, OpusEncodingParams, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendSlot, StatsMap, StreamRequest, SupportedResolution, TransceiverStatItem, TransceiverStats, VideoMetadata, WcmeError, WcmeErrorType, areReceiveSlotIdsEqual, codecToEncodingParams, getFrameSizeForPicSize, getLogLevel, getRecommendedMaxBitrateForFrameSize, getRecommendedMaxBitrateForPicSize, isEncodingCodecSupported, logErrorAndThrow, setLogHandler, setLogLevel };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/web-client-media-engine",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.38.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",
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
"@webex/rtcstats": "^1.5.5",
|
|
61
61
|
"@webex/ts-events": "^1.2.1",
|
|
62
62
|
"@webex/ts-sdp": "1.8.2",
|
|
63
|
-
"@webex/web-capabilities": "^1.
|
|
64
|
-
"@webex/web-media-effects": "2.
|
|
65
|
-
"@webex/webrtc-core": "2.13.
|
|
63
|
+
"@webex/web-capabilities": "^1.9.0",
|
|
64
|
+
"@webex/web-media-effects": "2.33.0",
|
|
65
|
+
"@webex/webrtc-core": "2.13.5",
|
|
66
66
|
"async": "^3.2.4",
|
|
67
67
|
"js-logger": "^1.6.1",
|
|
68
68
|
"typed-emitter": "^2.1.0",
|