sip-connector 5.6.1 → 6.0.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.
Files changed (32) hide show
  1. package/dist/SipConnector.d.ts.map +1 -1
  2. package/dist/SipConnector.js +1 -0
  3. package/dist/SipConnector.js.map +1 -1
  4. package/dist/__mocks__/RTCRtpSenderMock.d.ts +13 -0
  5. package/dist/__mocks__/RTCRtpSenderMock.d.ts.map +1 -0
  6. package/dist/__mocks__/RTCRtpSenderMock.js +35 -0
  7. package/dist/__mocks__/RTCRtpSenderMock.js.map +1 -0
  8. package/dist/getExtraHeadersRemoteAddress.d.ts +1 -1
  9. package/dist/getExtraHeadersRemoteAddress.d.ts.map +1 -1
  10. package/dist/index.es5.js +1 -1
  11. package/dist/index.es5.js.map +1 -1
  12. package/dist/index.umd.js +1 -1
  13. package/dist/index.umd.js.map +1 -1
  14. package/dist/videoSendingBalancer/balance.d.ts +11 -0
  15. package/dist/videoSendingBalancer/balance.d.ts.map +1 -0
  16. package/dist/videoSendingBalancer/balance.js +36 -0
  17. package/dist/videoSendingBalancer/balance.js.map +1 -0
  18. package/dist/videoSendingBalancer/index.d.ts +2 -3
  19. package/dist/videoSendingBalancer/index.d.ts.map +1 -1
  20. package/dist/videoSendingBalancer/index.js +19 -42
  21. package/dist/videoSendingBalancer/index.js.map +1 -1
  22. package/dist/videoSendingBalancer/processSender.d.ts +2 -2
  23. package/dist/videoSendingBalancer/processSender.d.ts.map +1 -1
  24. package/dist/videoSendingBalancer/processSender.js +30 -13
  25. package/dist/videoSendingBalancer/processSender.js.map +1 -1
  26. package/dist/videoSendingBalancer/scaleBitrate.d.ts +1 -1
  27. package/dist/videoSendingBalancer/scaleBitrate.d.ts.map +1 -1
  28. package/dist/videoSendingBalancer/setEncodingsToSender.d.ts +5 -1
  29. package/dist/videoSendingBalancer/setEncodingsToSender.d.ts.map +1 -1
  30. package/dist/videoSendingBalancer/setEncodingsToSender.js +9 -4
  31. package/dist/videoSendingBalancer/setEncodingsToSender.js.map +1 -1
  32. package/package.json +10 -10
@@ -1,48 +1,28 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const findVideoSender_1 = __importDefault(require("../utils/findVideoSender"));
16
- const getCodecFromSender_1 = __importDefault(require("../utils/getCodecFromSender"));
17
- const processSender_1 = __importDefault(require("./processSender"));
18
- const hasIncludesString = (source, target) => {
19
- return !!source && !!target && source.toLowerCase().includes(target.toLowerCase());
20
- };
21
- const resolveVideoSendingBalancer = (sipConnector, { autoSubscription = true, ignoreForCodec, onSetParameters, } = {}) => {
22
- let mainCam;
23
- let resolutionMainCam;
24
- const balance = (onSetParameters) => __awaiter(void 0, void 0, void 0, function* () {
25
- const { connection } = sipConnector;
26
- if (!connection || mainCam === undefined || resolutionMainCam === undefined) {
27
- return;
28
- }
29
- const senders = connection.getSenders();
30
- const sender = (0, findVideoSender_1.default)(senders);
31
- if (!sender || !sender.track) {
32
- return;
33
- }
34
- if (ignoreForCodec) {
35
- const codec = yield (0, getCodecFromSender_1.default)(sender);
36
- if (hasIncludesString(codec, ignoreForCodec)) {
6
+ const balance_1 = __importDefault(require("./balance"));
7
+ const resolveVideoSendingBalancer = (sipConnector, { ignoreForCodec, onSetParameters, } = {}) => {
8
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
9
+ let reBalance = () => { };
10
+ const handleMainCamControl = (headers) => {
11
+ reBalance = () => {
12
+ const { mainCam, resolutionMainCam } = headers;
13
+ const { connection } = sipConnector;
14
+ if (!connection || mainCam === undefined || resolutionMainCam === undefined) {
37
15
  return;
38
16
  }
39
- }
40
- (0, processSender_1.default)({ mainCam, resolutionMainCam, sender, track: sender.track }, onSetParameters);
41
- });
42
- const handleMainCamControl = (headers) => {
43
- mainCam = headers.mainCam;
44
- resolutionMainCam = headers.resolutionMainCam;
45
- balance(onSetParameters);
17
+ (0, balance_1.default)({
18
+ mainCam,
19
+ resolutionMainCam,
20
+ connection,
21
+ onSetParameters,
22
+ ignoreForCodec,
23
+ });
24
+ };
25
+ reBalance();
46
26
  };
47
27
  const subscribe = () => {
48
28
  sipConnector.onSession('main-cam-control', handleMainCamControl);
@@ -50,10 +30,7 @@ const resolveVideoSendingBalancer = (sipConnector, { autoSubscription = true, ig
50
30
  const unsubscribe = () => {
51
31
  sipConnector.offSession('main-cam-control', handleMainCamControl);
52
32
  };
53
- if (autoSubscription === true) {
54
- subscribe();
55
- }
56
- return { balance, subscribe, unsubscribe };
33
+ return { subscribe, unsubscribe, reBalance };
57
34
  };
58
35
  exports.default = resolveVideoSendingBalancer;
59
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,+EAAuD;AACvD,qFAA6D;AAC7D,oEAA4C;AAG5C,MAAM,iBAAiB,GAAG,CAAC,MAAe,EAAE,MAAe,EAAW,EAAE;IACtE,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,YAA0B,EAC1B,EACE,gBAAgB,GAAG,IAAI,EACvB,cAAc,EACd,eAAe,MAKb,EAAE,EACN,EAAE;IACF,IAAI,OAAmC,CAAC;IACxC,IAAI,iBAAqC,CAAC;IAE1C,MAAM,OAAO,GAAG,CAAO,eAAkC,EAAE,EAAE;QAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QAEpC,IAAI,CAAC,UAAU,IAAI,OAAO,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,EAAE;YAC3E,OAAO;SACR;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,OAAO,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YAC5B,OAAO;SACR;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAkB,EAAC,MAAM,CAAC,CAAC;YAE/C,IAAI,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE;gBAC5C,OAAO;aACR;SACF;QAED,IAAA,uBAAa,EAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;IAC9F,CAAC,CAAA,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,OAG7B,EAAE,EAAE;QACH,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAE9C,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,YAAY,CAAC,SAAS,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,YAAY,CAAC,UAAU,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,IAAI,gBAAgB,KAAK,IAAI,EAAE;QAC7B,SAAS,EAAE,CAAC;KACb;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/index.ts"],"names":[],"mappings":";;;;;AAEA,wDAAgC;AAGhC,MAAM,2BAA2B,GAAG,CAClC,YAA0B,EAC1B,EACE,cAAc,EACd,eAAe,MAIb,EAAE,EACN,EAAE;IACF,gEAAgE;IAChE,IAAI,SAAS,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACzB,MAAM,oBAAoB,GAAG,CAAC,OAG7B,EAAE,EAAE;QACH,SAAS,GAAG,GAAG,EAAE;YACf,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;YAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;YAEpC,IAAI,CAAC,UAAU,IAAI,OAAO,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,EAAE;gBAC3E,OAAO;aACR;YAED,IAAA,iBAAO,EAAC;gBACN,OAAO;gBACP,iBAAiB;gBACjB,UAAU;gBACV,eAAe;gBACf,cAAc;aACf,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,SAAS,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,YAAY,CAAC,SAAS,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,YAAY,CAAC,UAAU,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { EEventsMainCAM } from '../SipConnector';
2
- import type { TOnSetParameters } from './setEncodingsToSender';
2
+ import type { TOnSetParameters, TResult } from './setEncodingsToSender';
3
3
  declare const processSender: ({ mainCam, resolutionMainCam, sender, track, }: {
4
4
  mainCam: EEventsMainCAM;
5
5
  resolutionMainCam: string;
6
6
  sender: RTCRtpSender;
7
7
  track: MediaStreamTrack;
8
- }, onSetParameters?: TOnSetParameters | undefined) => void;
8
+ }, onSetParameters?: TOnSetParameters) => Promise<TResult>;
9
9
  export default processSender;
10
10
  //# sourceMappingURL=processSender.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processSender.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/processSender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAyF/D,QAAA,MAAM,aAAa;aAON,cAAc;uBACJ,MAAM;YACjB,YAAY;WACb,gBAAgB;sDAGxB,IAYF,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"processSender.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/processSender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAgGxE,QAAA,MAAM,aAAa;aAON,cAAc;uBACJ,MAAM;YACjB,YAAY;WACb,gBAAgB;qBAEP,gBAAgB,KACjC,QAAQ,OAAO,CAcjB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -32,29 +32,40 @@ const getMaxBitrateByWidth_1 = __importStar(require("./getMaxBitrateByWidth"));
32
32
  const setEncodingsToSender_1 = __importDefault(require("./setEncodingsToSender"));
33
33
  const stackPromises = (0, stack_promises_1.default)();
34
34
  const runStackPromises = () => {
35
- stackPromises().catch((error) => {
35
+ // @ts-ignore
36
+ return stackPromises().catch((error) => {
36
37
  // eslint-disable-next-line no-console
37
38
  console.debug('videoSendingBalancer: error', error);
38
39
  });
39
40
  };
40
41
  const run = (action) => {
41
42
  stackPromises.add(action);
42
- runStackPromises();
43
+ return runStackPromises();
43
44
  };
44
- const addToStackScaleResolutionDownBySender = (sender, scaleResolutionDownBy, maxBitrate, onSetParameters) => {
45
- run(() => {
45
+ const addToStackScaleResolutionDownBySender = ({ sender, scaleResolutionDownBy, maxBitrate, onSetParameters, }) => {
46
+ return run(() => {
46
47
  return (0, setEncodingsToSender_1.default)(sender, { scaleResolutionDownBy, maxBitrate }, onSetParameters);
47
48
  });
48
49
  };
49
50
  const downgradeResolutionSender = (sender, onSetParameters) => {
50
51
  const scaleResolutionDownByTarget = 200;
51
52
  const maxBitrate = getMaxBitrateByWidth_1.MINIMUM_BITRATE;
52
- addToStackScaleResolutionDownBySender(sender, scaleResolutionDownByTarget, maxBitrate, onSetParameters);
53
+ return addToStackScaleResolutionDownBySender({
54
+ sender,
55
+ maxBitrate,
56
+ onSetParameters,
57
+ scaleResolutionDownBy: scaleResolutionDownByTarget,
58
+ });
53
59
  };
54
60
  const resetScaleResolutionSender = (sender, onSetParameters) => {
55
61
  const scaleResolutionDownByTarget = 1;
56
62
  const maxBitrate = getMaxBitrateByWidth_1.MAXIMUM_BITRATE;
57
- addToStackScaleResolutionDownBySender(sender, scaleResolutionDownByTarget, maxBitrate, onSetParameters);
63
+ return addToStackScaleResolutionDownBySender({
64
+ sender,
65
+ maxBitrate,
66
+ onSetParameters,
67
+ scaleResolutionDownBy: scaleResolutionDownByTarget,
68
+ });
58
69
  };
59
70
  const setResolutionSender = (sender, { track, resolution, }, onSetParameters) => {
60
71
  const settings = track.getSettings();
@@ -66,20 +77,26 @@ const setResolutionSender = (sender, { track, resolution, }, onSetParameters) =>
66
77
  const SCALE_MIN = 1;
67
78
  const scaleResolutionDownByTarget = Math.max(scaleByWidth, scaleByHeight, SCALE_MIN);
68
79
  const maxBitrate = (0, getMaxBitrateByWidth_1.default)(+widthTarget);
69
- addToStackScaleResolutionDownBySender(sender, scaleResolutionDownByTarget, maxBitrate, onSetParameters);
80
+ return addToStackScaleResolutionDownBySender({
81
+ sender,
82
+ maxBitrate,
83
+ onSetParameters,
84
+ scaleResolutionDownBy: scaleResolutionDownByTarget,
85
+ });
70
86
  };
71
87
  const processSender = ({ mainCam, resolutionMainCam, sender, track, }, onSetParameters) => {
72
88
  switch (mainCam) {
73
89
  case SipConnector_1.EEventsMainCAM.PAUSE_MAIN_CAM:
74
- downgradeResolutionSender(sender, onSetParameters);
75
- break;
90
+ return downgradeResolutionSender(sender, onSetParameters);
76
91
  case SipConnector_1.EEventsMainCAM.RESUME_MAIN_CAM:
77
- resetScaleResolutionSender(sender, onSetParameters);
78
- break;
92
+ return resetScaleResolutionSender(sender, onSetParameters);
79
93
  case SipConnector_1.EEventsMainCAM.MAX_MAIN_CAM_RESOLUTION:
80
- setResolutionSender(sender, { track, resolution: resolutionMainCam }, onSetParameters);
81
- break;
94
+ return setResolutionSender(sender, { track, resolution: resolutionMainCam }, onSetParameters);
82
95
  }
96
+ return Promise.resolve({
97
+ isChanged: false,
98
+ parameters: { encodings: [{}], transactionId: '0', codecs: [], headerExtensions: [], rtcp: {} },
99
+ });
83
100
  };
84
101
  exports.default = processSender;
85
102
  //# sourceMappingURL=processSender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processSender.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/processSender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processSender.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/processSender.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- declare const scaleMaxBitrateBySender: (senders: RTCRtpSender[], mediaStream: MediaStream, maxBitrate: number) => Promise<void>;
1
+ declare const scaleMaxBitrateBySender: (senders: RTCRtpSender[], mediaStream: MediaStream, maxBitrate: number) => Promise<import("./setEncodingsToSender").TResult> | Promise<void>;
2
2
  export default scaleMaxBitrateBySender;
3
3
  //# sourceMappingURL=scaleBitrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaleBitrate.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/scaleBitrate.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,uBAAuB,YAClB,YAAY,EAAE,eACV,WAAW,cACZ,MAAM,kBASnB,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"scaleBitrate.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/scaleBitrate.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,uBAAuB,YAClB,YAAY,EAAE,eACV,WAAW,cACZ,MAAM,sEASnB,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -1,7 +1,11 @@
1
1
  export declare type TOnSetParameters = (parameters: RTCRtpSendParameters) => void;
2
+ export declare type TResult = {
3
+ parameters: RTCRtpSendParameters;
4
+ isChanged: boolean;
5
+ };
2
6
  declare const setEncodingsToSender: (sender: RTCRtpSender, encodingsTarget: {
3
7
  scaleResolutionDownBy?: number;
4
8
  maxBitrate?: number;
5
- }, onSetParameters?: TOnSetParameters | undefined) => Promise<void>;
9
+ }, onSetParameters?: TOnSetParameters) => Promise<TResult>;
6
10
  export default setEncodingsToSender;
7
11
  //# sourceMappingURL=setEncodingsToSender.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setEncodingsToSender.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/setEncodingsToSender.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAgD1E,QAAA,MAAM,oBAAoB,WAChB,YAAY,mBACH;IAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,qDAEvE,QAAQ,IAAI,CAuCd,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"setEncodingsToSender.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/setEncodingsToSender.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAC1E,oBAAY,OAAO,GAAG;IAAE,UAAU,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAqD/E,QAAA,MAAM,oBAAoB,WAChB,YAAY,mBACH;IAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,oBACtD,gBAAgB,KACjC,QAAQ,OAAO,CAwCjB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const MIN_SCALE_RESOLUTION_DOWN_BY = 1;
3
4
  const resolveHasNeedToUpdateItemEncoding = (defaultValue) => {
4
5
  return (itemEncodingTarget, itemEncodingCurrent) => {
5
6
  const isChangedDefaultScale = itemEncodingCurrent === undefined && itemEncodingTarget !== defaultValue;
@@ -8,9 +9,11 @@ const resolveHasNeedToUpdateItemEncoding = (defaultValue) => {
8
9
  return isNeedToChange;
9
10
  };
10
11
  };
11
- const hasNeedToUpdateScaleResolutionDownBy = resolveHasNeedToUpdateItemEncoding(1);
12
+ const hasNeedToUpdateScaleResolutionDownBy = resolveHasNeedToUpdateItemEncoding(MIN_SCALE_RESOLUTION_DOWN_BY);
12
13
  const performUpdateScaleResolutionDownBy = (scaleResolutionDownByTarget, scaleResolutionDownByCurrent) => {
13
- const scaleResolutionDownByTargetParsed = scaleResolutionDownByTarget !== undefined ? Math.max(scaleResolutionDownByTarget, 1) : null;
14
+ const scaleResolutionDownByTargetParsed = scaleResolutionDownByTarget !== undefined
15
+ ? Math.max(scaleResolutionDownByTarget, MIN_SCALE_RESOLUTION_DOWN_BY)
16
+ : null;
14
17
  if (scaleResolutionDownByTargetParsed !== null &&
15
18
  hasNeedToUpdateScaleResolutionDownBy(scaleResolutionDownByTargetParsed, scaleResolutionDownByCurrent)) {
16
19
  return scaleResolutionDownByTargetParsed;
@@ -47,9 +50,11 @@ const setEncodingsToSender = (sender, encodingsTarget, onSetParameters) => {
47
50
  if (onSetParameters) {
48
51
  onSetParameters(parameters);
49
52
  }
50
- return sender.setParameters(parameters);
53
+ return sender.setParameters(parameters).then(() => {
54
+ return { parameters, isChanged };
55
+ });
51
56
  }
52
- return Promise.resolve();
57
+ return Promise.resolve({ parameters, isChanged });
53
58
  };
54
59
  exports.default = setEncodingsToSender;
55
60
  //# sourceMappingURL=setEncodingsToSender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setEncodingsToSender.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/setEncodingsToSender.ts"],"names":[],"mappings":";;AAEA,MAAM,kCAAkC,GAAG,CAAC,YAAgC,EAAE,EAAE;IAC9E,OAAO,CAAC,kBAAuC,EAAE,mBAA4B,EAAW,EAAE;QACxF,MAAM,qBAAqB,GACzB,mBAAmB,KAAK,SAAS,IAAI,kBAAkB,KAAK,YAAY,CAAC;QAC3E,MAAM,kBAAkB,GACtB,mBAAmB,KAAK,SAAS,IAAI,kBAAkB,KAAK,mBAAmB,CAAC;QAElF,MAAM,cAAc,GAAG,kBAAkB,IAAI,qBAAqB,CAAC;QAEnE,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oCAAoC,GAAG,kCAAkC,CAAC,CAAC,CAAC,CAAC;AACnF,MAAM,kCAAkC,GAAG,CACzC,2BAAoC,EACpC,4BAAqC,EACjB,EAAE;IACtB,MAAM,iCAAiC,GACrC,2BAA2B,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9F,IACE,iCAAiC,KAAK,IAAI;QAC1C,oCAAoC,CAClC,iCAAiC,EACjC,4BAA4B,CAC7B,EACD;QACA,OAAO,iCAAiC,CAAC;KAC1C;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,kCAAkC,CAAC,SAAS,CAAC,CAAC;AAChF,MAAM,uBAAuB,GAAG,CAC9B,gBAAyB,EACzB,iBAA0B,EACN,EAAE;IACtB,IAAI,yBAAyB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAAE;QAClE,OAAO,gBAAgB,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,MAAoB,EACpB,eAAwE,EACxE,eAAkC,EACnB,EAAE;IACjB,MAAM,UAAU,GAAyB,MAAM,CAAC,aAAa,EAAE,CAAC;IAEhE,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9D,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC;KAC7B;IAED,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;IAExC,MAAM,4BAA4B,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IACpE,MAAM,2BAA2B,GAAG,kCAAkC,CACpE,eAAe,CAAC,qBAAqB,EACrC,4BAA4B,CAC7B,CAAC;IAEF,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,2BAA2B,KAAK,SAAS,EAAE;QAC7C,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,GAAG,2BAA2B,CAAC;QAC5E,SAAS,GAAG,IAAI,CAAC;KAClB;IAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC9C,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAEhG,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC;QACtD,SAAS,GAAG,IAAI,CAAC;KAClB;IAED,IAAI,SAAS,EAAE;QACb,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,UAAU,CAAC,CAAC;SAC7B;QAED,OAAO,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;KACzC;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"setEncodingsToSender.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/setEncodingsToSender.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sip-connector",
3
- "version": "5.6.1",
3
+ "version": "6.0.0",
4
4
  "description": "Module for connect to Vinteo server",
5
5
  "keywords": [
6
6
  "webrtc",
@@ -47,31 +47,31 @@
47
47
  "webrtc-mock": "^0.0.10"
48
48
  },
49
49
  "devDependencies": {
50
- "@commitlint/cli": "^17.0.0",
50
+ "@commitlint/cli": "^17.0.1",
51
51
  "@commitlint/config-conventional": "^17.0.0",
52
52
  "@rollup/plugin-commonjs": "^22.0.0",
53
53
  "@rollup/plugin-node-resolve": "^13.3.0",
54
54
  "@types/jest": "^27.5.1",
55
- "@types/node": "^17.0.34",
56
- "@typescript-eslint/eslint-plugin": "^5.25.0",
57
- "@typescript-eslint/parser": "^5.25.0",
58
- "eslint": "^8.15.0",
55
+ "@types/node": "^17.0.35",
56
+ "@typescript-eslint/eslint-plugin": "^5.26.0",
57
+ "@typescript-eslint/parser": "^5.26.0",
58
+ "eslint": "^8.16.0",
59
59
  "eslint-config-prettier": "^8.5.0",
60
60
  "eslint-plugin-import": "^2.26.0",
61
61
  "eslint-plugin-jest": "^26.2.2",
62
62
  "eslint-plugin-prettier": "^4.0.0",
63
63
  "husky": "^8.0.1",
64
64
  "jest": "28.1.0",
65
- "lint-staged": "^12.4.1",
65
+ "lint-staged": "^12.4.2",
66
66
  "node-fetch": "^2.6.1",
67
67
  "prettier": "^2.6.2",
68
68
  "promise-delay": "^2.1.0",
69
- "rollup": "^2.73.0",
69
+ "rollup": "^2.75.0",
70
70
  "rollup-plugin-terser": "^7.0.2",
71
71
  "rollup-plugin-typescript2": "0.31.2",
72
72
  "standard-version": "^9.5.0",
73
- "ts-jest": "^28.0.2",
74
- "typescript": "^4.6.4"
73
+ "ts-jest": "^28.0.3",
74
+ "typescript": "^4.7.2"
75
75
  },
76
76
  "peerDependencies": {
77
77
  "@krivega/jssip": "^3.16.0"