@webex/internal-media-core 2.23.3 → 2.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.
package/dist/cjs/index.js CHANGED
@@ -1241,198 +1241,6 @@ var off$1 = (eventName, listener) => {
1241
1241
  eventEmitter.off(eventName, listener);
1242
1242
  };
1243
1243
 
1244
- var bnrProcessor = {
1245
- isModuleAdded: false,
1246
- workletProcessorUrl: 'https://models.intelligence.webex.com/bnr/1.1.0/noise-reduction-effect.worklet.js'
1247
- };
1248
- function isValidTrack(track) {
1249
- var supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
1250
- var supportedSampleRates = [16000, 32000, 48000];
1251
- if (supportedConstraints.sampleRate) {
1252
- var settings = getTrackSettings(track);
1253
- var {
1254
- sampleRate
1255
- } = settings;
1256
- if (sampleRate && !supportedSampleRates.includes(sampleRate)) {
1257
- var error = new Error("Sample rate of ".concat(sampleRate, " is not supported."));
1258
- logger$4.error({
1259
- ID: track.id,
1260
- mediaType: MEDIA_STREAM_TRACK,
1261
- action: 'isValidTrack()',
1262
- description: error.message,
1263
- error
1264
- });
1265
- throw error;
1266
- } else {
1267
- return true;
1268
- }
1269
- } else {
1270
- var _error = new Error('Not supported');
1271
- logger$4.info({
1272
- ID: track.id,
1273
- mediaType: MEDIA_STREAM_TRACK,
1274
- action: 'isValidTrack()',
1275
- description: _error.message,
1276
- error: _error
1277
- });
1278
- return true;
1279
- }
1280
- }
1281
- function loadProcessor() {
1282
- return _loadProcessor.apply(this, arguments);
1283
- }
1284
- function _loadProcessor() {
1285
- _loadProcessor = _asyncToGenerator(function* () {
1286
- logger$4.info({
1287
- mediaType: MEDIA_STREAM_TRACK,
1288
- action: 'loadProcessor()',
1289
- description: 'Creating and loading BNR module'
1290
- });
1291
- var audioContext = new AudioContext();
1292
- bnrProcessor.isModuleAdded = true;
1293
- bnrProcessor.audioContext = audioContext;
1294
- yield audioContext.audioWorklet.addModule(bnrProcessor.workletProcessorUrl);
1295
- bnrProcessor.workletNode = new AudioWorkletNode(audioContext, 'noise-reduction-worklet-processor');
1296
- return audioContext;
1297
- });
1298
- return _loadProcessor.apply(this, arguments);
1299
- }
1300
- function enableBNR(_x) {
1301
- return _enableBNR.apply(this, arguments);
1302
- }
1303
- function _enableBNR() {
1304
- _enableBNR = _asyncToGenerator(function* (track) {
1305
- logger$4.debug({
1306
- ID: track.id,
1307
- mediaType: MEDIA_STREAM_TRACK,
1308
- action: 'enableBNR()',
1309
- description: 'Called'
1310
- });
1311
- try {
1312
- isValidTrack(track);
1313
- var streamFromTrack = new MediaStream();
1314
- streamFromTrack.addTrack(track);
1315
- var workletNode;
1316
- logger$4.info({
1317
- ID: track.id,
1318
- mediaType: MEDIA_STREAM_TRACK,
1319
- action: 'enableBNR()',
1320
- description: 'Checking if BNR module is present already'
1321
- });
1322
- var oldDestinationTrack = bnrProcessor.destinationTrack;
1323
- if (oldDestinationTrack && track.id === oldDestinationTrack.id) {
1324
- var oldTrackErrorMsg = 'BNR is enabled on the track already';
1325
- var oldTrackError = new Error(oldTrackErrorMsg);
1326
- logger$4.error({
1327
- ID: track.id,
1328
- mediaType: MEDIA_STREAM_TRACK,
1329
- action: 'enableBNR()',
1330
- description: oldTrackErrorMsg,
1331
- error: oldTrackError
1332
- });
1333
- throw oldTrackError;
1334
- }
1335
- if (bnrProcessor.isModuleAdded) {
1336
- logger$4.debug({
1337
- ID: track.id,
1338
- mediaType: MEDIA_STREAM_TRACK,
1339
- action: 'enableBNR()',
1340
- description: 'Disposing existing BNR module'
1341
- });
1342
- workletNode = bnrProcessor.workletNode;
1343
- workletNode.port.postMessage('DISPOSE');
1344
- }
1345
- logger$4.info({
1346
- ID: track.id,
1347
- mediaType: MEDIA_STREAM_TRACK,
1348
- action: 'enableBNR()',
1349
- description: 'Creating worklet node, connecting source and destination streams'
1350
- });
1351
- var audioContext = yield loadProcessor();
1352
- workletNode = bnrProcessor.workletNode;
1353
- workletNode.port.postMessage('ENABLE');
1354
- bnrProcessor.sourceNode = audioContext.createMediaStreamSource(streamFromTrack);
1355
- bnrProcessor.sourceNode.connect(workletNode);
1356
- bnrProcessor.destinationStream = audioContext.createMediaStreamDestination();
1357
- workletNode.connect(bnrProcessor.destinationStream);
1358
- logger$4.info({
1359
- ID: track.id,
1360
- mediaType: MEDIA_STREAM_TRACK,
1361
- action: 'enableBNR()',
1362
- description: 'Obtaining noise reduced track and returning'
1363
- });
1364
- var destinationStream = bnrProcessor.destinationStream.stream;
1365
- var [destinationTrack] = destinationStream.getAudioTracks();
1366
- bnrProcessor.destinationTrack = destinationTrack;
1367
- return destinationTrack;
1368
- } catch (error) {
1369
- logger$4.error({
1370
- ID: track.id,
1371
- mediaType: MEDIA_STREAM_TRACK,
1372
- action: 'enableBNR()',
1373
- description: 'Error in enableBNR',
1374
- error: error
1375
- });
1376
- throw error;
1377
- }
1378
- });
1379
- return _enableBNR.apply(this, arguments);
1380
- }
1381
- function disableBNR() {
1382
- logger$4.debug({
1383
- mediaType: MEDIA_STREAM_TRACK,
1384
- action: 'disableBNR()',
1385
- description: 'Called'
1386
- });
1387
- try {
1388
- var workletNode;
1389
- logger$4.info({
1390
- mediaType: MEDIA_STREAM_TRACK,
1391
- action: 'disableBNR()',
1392
- description: 'Checking if BNR is enabled before disabling'
1393
- });
1394
- if (!bnrProcessor.isModuleAdded) {
1395
- var error = new Error('Can not disable as BNR is not enabled');
1396
- logger$4.error({
1397
- mediaType: MEDIA_STREAM_TRACK,
1398
- action: 'disableBNR()',
1399
- description: 'Can not disable as BNR is not enabled'
1400
- });
1401
- throw error;
1402
- } else {
1403
- logger$4.info({
1404
- mediaType: MEDIA_STREAM_TRACK,
1405
- action: 'disableBNR()',
1406
- description: 'Using existing AudioWorkletNode for disabling BNR'
1407
- });
1408
- workletNode = bnrProcessor.workletNode;
1409
- }
1410
- workletNode.port.postMessage('DISPOSE');
1411
- logger$4.info({
1412
- mediaType: MEDIA_STREAM_TRACK,
1413
- action: 'disableBNR()',
1414
- description: 'Obtaining raw media stream track and removing bnr context'
1415
- });
1416
- var bnrDisabledStream = bnrProcessor.sourceNode.mediaStream;
1417
- var [track] = bnrDisabledStream === null || bnrDisabledStream === void 0 ? void 0 : bnrDisabledStream.getAudioTracks();
1418
- bnrProcessor.isModuleAdded = false;
1419
- delete bnrProcessor.workletNode;
1420
- delete bnrProcessor.audioContext;
1421
- delete bnrProcessor.sourceNode;
1422
- delete bnrProcessor.destinationStream;
1423
- delete bnrProcessor.destinationTrack;
1424
- return track;
1425
- } catch (error) {
1426
- logger$4.error({
1427
- mediaType: MEDIA_STREAM_TRACK,
1428
- action: 'disableBNR()',
1429
- description: 'Error in disableBNR',
1430
- error: error
1431
- });
1432
- throw error;
1433
- }
1434
- }
1435
-
1436
1244
  var ErrorCode;
1437
1245
  (function (ErrorCode) {
1438
1246
  ErrorCode[ErrorCode["MediaConnectionError"] = 30001] = "MediaConnectionError";
@@ -19588,13 +19396,7 @@ var Media = {
19588
19396
  getMicrophones: getMicrophones,
19589
19397
  getSpeakers: getSpeakers,
19590
19398
  on: on$1,
19591
- off: off$1,
19592
- Effects: {
19593
- BNR: {
19594
- enableBNR: enableBNR,
19595
- disableBNR: disableBNR
19596
- }
19597
- }
19399
+ off: off$1
19598
19400
  };
19599
19401
 
19600
19402
  exports.AV1Codec = AV1Codec;
package/dist/esm/index.js CHANGED
@@ -1237,198 +1237,6 @@ var off$1 = (eventName, listener) => {
1237
1237
  eventEmitter.off(eventName, listener);
1238
1238
  };
1239
1239
 
1240
- var bnrProcessor = {
1241
- isModuleAdded: false,
1242
- workletProcessorUrl: 'https://models.intelligence.webex.com/bnr/1.1.0/noise-reduction-effect.worklet.js'
1243
- };
1244
- function isValidTrack(track) {
1245
- var supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
1246
- var supportedSampleRates = [16000, 32000, 48000];
1247
- if (supportedConstraints.sampleRate) {
1248
- var settings = getTrackSettings(track);
1249
- var {
1250
- sampleRate
1251
- } = settings;
1252
- if (sampleRate && !supportedSampleRates.includes(sampleRate)) {
1253
- var error = new Error("Sample rate of ".concat(sampleRate, " is not supported."));
1254
- logger$4.error({
1255
- ID: track.id,
1256
- mediaType: MEDIA_STREAM_TRACK,
1257
- action: 'isValidTrack()',
1258
- description: error.message,
1259
- error
1260
- });
1261
- throw error;
1262
- } else {
1263
- return true;
1264
- }
1265
- } else {
1266
- var _error = new Error('Not supported');
1267
- logger$4.info({
1268
- ID: track.id,
1269
- mediaType: MEDIA_STREAM_TRACK,
1270
- action: 'isValidTrack()',
1271
- description: _error.message,
1272
- error: _error
1273
- });
1274
- return true;
1275
- }
1276
- }
1277
- function loadProcessor() {
1278
- return _loadProcessor.apply(this, arguments);
1279
- }
1280
- function _loadProcessor() {
1281
- _loadProcessor = _asyncToGenerator(function* () {
1282
- logger$4.info({
1283
- mediaType: MEDIA_STREAM_TRACK,
1284
- action: 'loadProcessor()',
1285
- description: 'Creating and loading BNR module'
1286
- });
1287
- var audioContext = new AudioContext();
1288
- bnrProcessor.isModuleAdded = true;
1289
- bnrProcessor.audioContext = audioContext;
1290
- yield audioContext.audioWorklet.addModule(bnrProcessor.workletProcessorUrl);
1291
- bnrProcessor.workletNode = new AudioWorkletNode(audioContext, 'noise-reduction-worklet-processor');
1292
- return audioContext;
1293
- });
1294
- return _loadProcessor.apply(this, arguments);
1295
- }
1296
- function enableBNR(_x) {
1297
- return _enableBNR.apply(this, arguments);
1298
- }
1299
- function _enableBNR() {
1300
- _enableBNR = _asyncToGenerator(function* (track) {
1301
- logger$4.debug({
1302
- ID: track.id,
1303
- mediaType: MEDIA_STREAM_TRACK,
1304
- action: 'enableBNR()',
1305
- description: 'Called'
1306
- });
1307
- try {
1308
- isValidTrack(track);
1309
- var streamFromTrack = new MediaStream();
1310
- streamFromTrack.addTrack(track);
1311
- var workletNode;
1312
- logger$4.info({
1313
- ID: track.id,
1314
- mediaType: MEDIA_STREAM_TRACK,
1315
- action: 'enableBNR()',
1316
- description: 'Checking if BNR module is present already'
1317
- });
1318
- var oldDestinationTrack = bnrProcessor.destinationTrack;
1319
- if (oldDestinationTrack && track.id === oldDestinationTrack.id) {
1320
- var oldTrackErrorMsg = 'BNR is enabled on the track already';
1321
- var oldTrackError = new Error(oldTrackErrorMsg);
1322
- logger$4.error({
1323
- ID: track.id,
1324
- mediaType: MEDIA_STREAM_TRACK,
1325
- action: 'enableBNR()',
1326
- description: oldTrackErrorMsg,
1327
- error: oldTrackError
1328
- });
1329
- throw oldTrackError;
1330
- }
1331
- if (bnrProcessor.isModuleAdded) {
1332
- logger$4.debug({
1333
- ID: track.id,
1334
- mediaType: MEDIA_STREAM_TRACK,
1335
- action: 'enableBNR()',
1336
- description: 'Disposing existing BNR module'
1337
- });
1338
- workletNode = bnrProcessor.workletNode;
1339
- workletNode.port.postMessage('DISPOSE');
1340
- }
1341
- logger$4.info({
1342
- ID: track.id,
1343
- mediaType: MEDIA_STREAM_TRACK,
1344
- action: 'enableBNR()',
1345
- description: 'Creating worklet node, connecting source and destination streams'
1346
- });
1347
- var audioContext = yield loadProcessor();
1348
- workletNode = bnrProcessor.workletNode;
1349
- workletNode.port.postMessage('ENABLE');
1350
- bnrProcessor.sourceNode = audioContext.createMediaStreamSource(streamFromTrack);
1351
- bnrProcessor.sourceNode.connect(workletNode);
1352
- bnrProcessor.destinationStream = audioContext.createMediaStreamDestination();
1353
- workletNode.connect(bnrProcessor.destinationStream);
1354
- logger$4.info({
1355
- ID: track.id,
1356
- mediaType: MEDIA_STREAM_TRACK,
1357
- action: 'enableBNR()',
1358
- description: 'Obtaining noise reduced track and returning'
1359
- });
1360
- var destinationStream = bnrProcessor.destinationStream.stream;
1361
- var [destinationTrack] = destinationStream.getAudioTracks();
1362
- bnrProcessor.destinationTrack = destinationTrack;
1363
- return destinationTrack;
1364
- } catch (error) {
1365
- logger$4.error({
1366
- ID: track.id,
1367
- mediaType: MEDIA_STREAM_TRACK,
1368
- action: 'enableBNR()',
1369
- description: 'Error in enableBNR',
1370
- error: error
1371
- });
1372
- throw error;
1373
- }
1374
- });
1375
- return _enableBNR.apply(this, arguments);
1376
- }
1377
- function disableBNR() {
1378
- logger$4.debug({
1379
- mediaType: MEDIA_STREAM_TRACK,
1380
- action: 'disableBNR()',
1381
- description: 'Called'
1382
- });
1383
- try {
1384
- var workletNode;
1385
- logger$4.info({
1386
- mediaType: MEDIA_STREAM_TRACK,
1387
- action: 'disableBNR()',
1388
- description: 'Checking if BNR is enabled before disabling'
1389
- });
1390
- if (!bnrProcessor.isModuleAdded) {
1391
- var error = new Error('Can not disable as BNR is not enabled');
1392
- logger$4.error({
1393
- mediaType: MEDIA_STREAM_TRACK,
1394
- action: 'disableBNR()',
1395
- description: 'Can not disable as BNR is not enabled'
1396
- });
1397
- throw error;
1398
- } else {
1399
- logger$4.info({
1400
- mediaType: MEDIA_STREAM_TRACK,
1401
- action: 'disableBNR()',
1402
- description: 'Using existing AudioWorkletNode for disabling BNR'
1403
- });
1404
- workletNode = bnrProcessor.workletNode;
1405
- }
1406
- workletNode.port.postMessage('DISPOSE');
1407
- logger$4.info({
1408
- mediaType: MEDIA_STREAM_TRACK,
1409
- action: 'disableBNR()',
1410
- description: 'Obtaining raw media stream track and removing bnr context'
1411
- });
1412
- var bnrDisabledStream = bnrProcessor.sourceNode.mediaStream;
1413
- var [track] = bnrDisabledStream === null || bnrDisabledStream === void 0 ? void 0 : bnrDisabledStream.getAudioTracks();
1414
- bnrProcessor.isModuleAdded = false;
1415
- delete bnrProcessor.workletNode;
1416
- delete bnrProcessor.audioContext;
1417
- delete bnrProcessor.sourceNode;
1418
- delete bnrProcessor.destinationStream;
1419
- delete bnrProcessor.destinationTrack;
1420
- return track;
1421
- } catch (error) {
1422
- logger$4.error({
1423
- mediaType: MEDIA_STREAM_TRACK,
1424
- action: 'disableBNR()',
1425
- description: 'Error in disableBNR',
1426
- error: error
1427
- });
1428
- throw error;
1429
- }
1430
- }
1431
-
1432
1240
  var ErrorCode;
1433
1241
  (function (ErrorCode) {
1434
1242
  ErrorCode[ErrorCode["MediaConnectionError"] = 30001] = "MediaConnectionError";
@@ -19584,13 +19392,7 @@ var Media = {
19584
19392
  getMicrophones: getMicrophones,
19585
19393
  getSpeakers: getSpeakers,
19586
19394
  on: on$1,
19587
- off: off$1,
19588
- Effects: {
19589
- BNR: {
19590
- enableBNR: enableBNR,
19591
- disableBNR: disableBNR
19592
- }
19593
- }
19395
+ off: off$1
19594
19396
  };
19595
19397
 
19596
19398
  export { AV1Codec, ActiveSpeakerInfo, CodecInfo$1 as CodecInfo, ConnectionState, ErrorType, Errors, H264Codec, InboundAudioIssueSubTypes, LocalCameraStream, LocalDisplayStream, LocalMicrophoneStream, LocalStream, LocalStreamEventNames, LocalSystemAudioStream, Media, MediaCodecMimeType, MediaConnectionEventNames, MediaContent, MediaFamily, MediaStreamTrackKind, MediaType, MultistreamRoapMediaConnection, NetworkQualityEventNames, NetworkQualityMonitor, PeerConnection, Policy, ReceiveSlot, ReceiveSlotEvents, ReceiverSelectedInfo, RecommendedOpusBitrates, RemoteStream, RemoteStreamEventNames, RemoteTrackType, RoapMediaConnection, SendSlot, StatsAnalyzer, StatsAnalyzerEventNames, StatsMonitor, StatsMonitorEventNames, StreamEventNames, StreamRequest, WcmeError, WcmeErrorType, configureWcmeLogger, createCameraAndMicrophoneStreams, createCameraStream, createDisplayMedia, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getErrorDescription, getFrameSizeForPicSize, getLogger, getMediaFamily, getRecommendedMaxBitrateForFrameSize, getRecommendedMaxBitrateForPicSize, getVideoInputDevices, setLogger, setOnDeviceChangeHandler };
@@ -1,5 +1,4 @@
1
1
  import * as MediaCore from './Media';
2
- import * as BNR from './Media/Effects/BNR';
3
2
  export * from './MediaConnection';
4
3
  export * from './StatsAnalyzer';
5
4
  export declare const Media: {
@@ -11,11 +10,5 @@ export declare const Media: {
11
10
  getSpeakers: () => Promise<MediaCore.Device[]>;
12
11
  on: typeof MediaCore.on;
13
12
  off: (eventName: string, listener: () => void) => void;
14
- Effects: {
15
- BNR: {
16
- enableBNR: typeof BNR.enableBNR;
17
- disableBNR: typeof BNR.disableBNR;
18
- };
19
- };
20
13
  };
21
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAGhC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;CAejB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AAErC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAGhC,eAAO,MAAM,KAAK;;;;;;;;;CASjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-media-core",
3
- "version": "2.23.3",
3
+ "version": "2.24.0",
4
4
  "files": [
5
5
  "dist/cjs",
6
6
  "dist/esm",
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "scripts": {
39
39
  "prebuild": "rimraf dist",
40
- "build": "tsc && node postcompile.mjs && rollup --config",
40
+ "build": "tsc && rollup --config",
41
41
  "test": "jest --config=jest.config.js",
42
42
  "start": "web-dev-server --config web-dev-server.config.js",
43
43
  "test:spellcheck": "cspell \"{README.md,.github/*.md,src/**/*.ts}\"",
@@ -1,5 +0,0 @@
1
- declare function isValidTrack(track: MediaStreamTrack): boolean;
2
- declare function enableBNR(track: MediaStreamTrack): Promise<MediaStreamTrack>;
3
- declare function disableBNR(): MediaStreamTrack;
4
- export { isValidTrack, enableBNR, disableBNR };
5
- //# sourceMappingURL=Bnr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Bnr.d.ts","sourceRoot":"","sources":["../../../../../src/Media/Effects/BNR/Bnr.ts"],"names":[],"mappings":"AA0BA,iBAAS,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAwCtD;AAmCD,iBAAe,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiG3E;AAQD,iBAAS,UAAU,IAAI,gBAAgB,CAmEtC;AAED,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Bnr.integration-test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Bnr.integration-test.d.ts","sourceRoot":"","sources":["../../../../../src/Media/Effects/BNR/Bnr.integration-test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Bnr.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Bnr.test.d.ts","sourceRoot":"","sources":["../../../../../src/Media/Effects/BNR/Bnr.test.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- declare const _default: () => void;
2
- export default _default;
3
- //# sourceMappingURL=BnrMock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BnrMock.d.ts","sourceRoot":"","sources":["../../../../../src/Media/Effects/BNR/BnrMock.ts"],"names":[],"mappings":";AAgHA,wBAoBE"}
@@ -1,2 +0,0 @@
1
- export * from './Bnr';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Media/Effects/BNR/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}