@flashphoner/websdk 2.0.259 → 2.0.260

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.
@@ -10526,6 +10526,65 @@ var createSession = function createSession(options) {
10526
10526
  throw new Error("This function available for publishing stream only");
10527
10527
  }
10528
10528
  };
10529
+
10530
+ /**
10531
+ * Get camera zoom capabilities
10532
+ *
10533
+ * @return {Object} zoom capabilities object: max, min, step or null if zoom is not supported
10534
+ * @memberof Stream
10535
+ */
10536
+ var getZoomCapabilities = function getZoomCapabilities() {
10537
+ if (published() && mediaConnection) {
10538
+ return mediaConnection.getZoomCapabilities();
10539
+ } else {
10540
+ throw new Error("This function available for publishing stream only");
10541
+ }
10542
+ };
10543
+
10544
+ /**
10545
+ * Get current camera zoom value if supported
10546
+ *
10547
+ * @return {number} current camera zoom value
10548
+ * @memberof Stream
10549
+ */
10550
+ var getZoom = function getZoom() {
10551
+ if (published() && mediaConnection) {
10552
+ return mediaConnection.getZoom();
10553
+ } else {
10554
+ throw new Error("This function available for publishing stream only");
10555
+ }
10556
+ };
10557
+
10558
+ /**
10559
+ * Set camera zoom value if supported
10560
+ *
10561
+ * @param {number} desired camera zoom value
10562
+ * @memberof Stream
10563
+ */
10564
+ var setZoom = /*#__PURE__*/function () {
10565
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(value) {
10566
+ return _regenerator().w(function (_context2) {
10567
+ while (1) switch (_context2.n) {
10568
+ case 0:
10569
+ if (!(published() && mediaConnection)) {
10570
+ _context2.n = 2;
10571
+ break;
10572
+ }
10573
+ _context2.n = 1;
10574
+ return mediaConnection.setZoom(value);
10575
+ case 1:
10576
+ return _context2.a(2, _context2.v);
10577
+ case 2:
10578
+ throw new Error("This function available for publishing stream only");
10579
+ case 3:
10580
+ return _context2.a(2);
10581
+ }
10582
+ }, _callee2);
10583
+ }));
10584
+ return function setZoom(_x2) {
10585
+ return _ref2.apply(this, arguments);
10586
+ };
10587
+ }();
10529
10588
  stream.play = play;
10530
10589
  stream.publish = publish;
10531
10590
  stream.stop = _stop;
@@ -10567,6 +10626,9 @@ var createSession = function createSession(options) {
10567
10626
  stream.getLogger = getLogger;
10568
10627
  stream.updateVideoSettings = updateVideoSettings;
10569
10628
  stream.updateVideoResolution = updateVideoResolution;
10629
+ stream.getZoomCapabilities = getZoomCapabilities;
10630
+ stream.getZoom = getZoom;
10631
+ stream.setZoom = setZoom;
10570
10632
  streams[id_] = stream;
10571
10633
  return stream;
10572
10634
  };
@@ -11388,8 +11450,16 @@ module.exports = {
11388
11450
  },{}],42:[function(require,module,exports){
11389
11451
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11390
11452
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
11453
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
11454
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
11455
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
11456
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
11457
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
11458
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11391
11459
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
11392
11460
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
11461
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
11462
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11393
11463
  -'use strict';
11394
11464
  var browserDetails = require('webrtc-adapter')["default"].browserDetails;
11395
11465
  var _require = require('uuid'),
@@ -11459,6 +11529,8 @@ var createConnection = function createConnection(options) {
11459
11529
  var useControls = options.useControls || false;
11460
11530
  // Stream event handler to rise an event #WCS-4097
11461
11531
  var unmuteRequiredEvent = options.unmuteRequiredEvent ? options.unmuteRequiredEvent : null;
11532
+ // Current video capturer zoom #WCS-4579
11533
+ var zoom = null;
11462
11534
  if (bidirectional) {
11463
11535
  localVideo = getCacheInstance(localDisplay);
11464
11536
  if (localVideo) {
@@ -12269,6 +12341,87 @@ var createConnection = function createConnection(options) {
12269
12341
  unmuteRequiredEvent();
12270
12342
  }
12271
12343
  };
12344
+ var getZoomCapabilities = function getZoomCapabilities() {
12345
+ if (localVideo && localVideo.srcObject) {
12346
+ if (constraints.video && constraints.video.zoom) {
12347
+ var _localVideo$srcObject = localVideo.srcObject.getVideoTracks(),
12348
+ _localVideo$srcObject2 = _slicedToArray(_localVideo$srcObject, 1),
12349
+ track = _localVideo$srcObject2[0];
12350
+ var capabilities = track.getCapabilities();
12351
+ var settings = track.getSettings();
12352
+ if (!('zoom' in settings)) {
12353
+ logger.info(LOG_PREFIX, "Zoom is not supported by " + track.label);
12354
+ zoom = null;
12355
+ } else {
12356
+ zoom = {
12357
+ min: capabilities.zoom.min,
12358
+ max: capabilities.zoom.max,
12359
+ step: capabilities.zoom.step,
12360
+ value: settings.zoom
12361
+ };
12362
+ }
12363
+ } else {
12364
+ zoom = null;
12365
+ }
12366
+ }
12367
+ return zoom;
12368
+ };
12369
+ var setZoom = /*#__PURE__*/function () {
12370
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(value) {
12371
+ var _localVideo$srcObject3, _localVideo$srcObject4, track;
12372
+ return _regenerator().w(function (_context) {
12373
+ while (1) switch (_context.n) {
12374
+ case 0:
12375
+ if (!zoom) {
12376
+ _context.n = 6;
12377
+ break;
12378
+ }
12379
+ if (!(value >= zoom.min && value <= zoom.max)) {
12380
+ _context.n = 4;
12381
+ break;
12382
+ }
12383
+ if (!(localVideo && localVideo.srcObject)) {
12384
+ _context.n = 2;
12385
+ break;
12386
+ }
12387
+ _localVideo$srcObject3 = localVideo.srcObject.getVideoTracks(), _localVideo$srcObject4 = _slicedToArray(_localVideo$srcObject3, 1), track = _localVideo$srcObject4[0];
12388
+ _context.n = 1;
12389
+ return track.applyConstraints({
12390
+ advanced: [{
12391
+ zoom: value
12392
+ }]
12393
+ });
12394
+ case 1:
12395
+ zoom.value = value;
12396
+ _context.n = 3;
12397
+ break;
12398
+ case 2:
12399
+ logger.warn(LOG_PREFIX, "Can't set zoom value: no local video");
12400
+ case 3:
12401
+ _context.n = 5;
12402
+ break;
12403
+ case 4:
12404
+ logger.info(LOG_PREFIX, "Zoom value " + value + "is out of range: " + zoom.min + "-" + zoom.max);
12405
+ case 5:
12406
+ _context.n = 7;
12407
+ break;
12408
+ case 6:
12409
+ logger.info(LOG_PREFIX, "Zoom is not supported or zoom capabilities unknown yet");
12410
+ case 7:
12411
+ return _context.a(2);
12412
+ }
12413
+ }, _callee);
12414
+ }));
12415
+ return function setZoom(_x) {
12416
+ return _ref.apply(this, arguments);
12417
+ };
12418
+ }();
12419
+ var getZoom = function getZoom() {
12420
+ if (zoom) {
12421
+ return zoom.value;
12422
+ }
12423
+ return -1;
12424
+ };
12272
12425
  var exports = {};
12273
12426
  exports.state = state;
12274
12427
  exports.createOffer = createOffer;
@@ -12298,6 +12451,9 @@ var createConnection = function createConnection(options) {
12298
12451
  exports.setPublishingBitrate = setPublishingBitrate;
12299
12452
  exports.updateVideoSettings = updateVideoSettings;
12300
12453
  exports.updateVideoResolution = updateVideoResolution;
12454
+ exports.getZoomCapabilities = getZoomCapabilities;
12455
+ exports.setZoom = setZoom;
12456
+ exports.getZoom = getZoom;
12301
12457
  connections[id] = exports;
12302
12458
  resolve(exports);
12303
12459
  });