@volcengine/veplayer-plugin 2.4.2-rc.2 → 2.4.3-rc.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 (31) hide show
  1. package/esm/index.development.js +2048 -1313
  2. package/esm/index.production.js +4 -4
  3. package/esm/veplayer.plugin.abr.development.js +71 -3
  4. package/esm/veplayer.plugin.abr.production.js +1 -1
  5. package/esm/veplayer.plugin.drm.development.js +71 -3
  6. package/esm/veplayer.plugin.drm.production.js +1 -1
  7. package/esm/veplayer.plugin.flv.development.js +727 -196
  8. package/esm/veplayer.plugin.flv.production.js +1 -1
  9. package/esm/veplayer.plugin.hls.development.js +1237 -308
  10. package/esm/veplayer.plugin.hls.production.js +1 -1
  11. package/esm/veplayer.plugin.mp4.development.js +73 -5
  12. package/esm/veplayer.plugin.mp4.production.js +1 -1
  13. package/esm/veplayer.plugin.rtm.development.js +189 -778
  14. package/esm/veplayer.plugin.rtm.production.js +1 -1
  15. package/esm/veplayer.plugin.shaka.development.js +72 -4
  16. package/esm/veplayer.plugin.shaka.production.js +1 -1
  17. package/package.json +1 -1
  18. package/umd/veplayer.plugin.abr.development.js +71 -3
  19. package/umd/veplayer.plugin.abr.production.js +1 -1
  20. package/umd/veplayer.plugin.drm.development.js +71 -3
  21. package/umd/veplayer.plugin.drm.production.js +1 -1
  22. package/umd/veplayer.plugin.flv.development.js +727 -196
  23. package/umd/veplayer.plugin.flv.production.js +1 -1
  24. package/umd/veplayer.plugin.hls.development.js +1237 -308
  25. package/umd/veplayer.plugin.hls.production.js +1 -1
  26. package/umd/veplayer.plugin.mp4.development.js +73 -5
  27. package/umd/veplayer.plugin.mp4.production.js +1 -1
  28. package/umd/veplayer.plugin.rtm.development.js +189 -778
  29. package/umd/veplayer.plugin.rtm.production.js +1 -1
  30. package/umd/veplayer.plugin.shaka.development.js +72 -4
  31. package/umd/veplayer.plugin.shaka.production.js +1 -1
@@ -1,29 +1,3 @@
1
- function _iterableToArrayLimit(arr, i) {
2
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
3
- if (null != _i) {
4
- var _s, _e, _x, _r, _arr = [], _n = true, _d = false;
5
- try {
6
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
7
- if (Object(_i) !== _i)
8
- return;
9
- _n = false;
10
- } else
11
- for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = true)
12
- ;
13
- } catch (err) {
14
- _d = true, _e = err;
15
- } finally {
16
- try {
17
- if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r))
18
- return;
19
- } finally {
20
- if (_d)
21
- throw _e;
22
- }
23
- }
24
- return _arr;
25
- }
26
- }
27
1
  function ownKeys$2(object, enumerableOnly) {
28
2
  var keys = Object.keys(object);
29
3
  if (Object.getOwnPropertySymbols) {
@@ -501,104 +475,6 @@ function _createSuper$1(Derived) {
501
475
  return _possibleConstructorReturn$1(this, result);
502
476
  };
503
477
  }
504
- function _slicedToArray(arr, i) {
505
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$2(arr, i) || _nonIterableRest();
506
- }
507
- function _toConsumableArray$1(arr) {
508
- return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$2(arr) || _nonIterableSpread$1();
509
- }
510
- function _arrayWithoutHoles$1(arr) {
511
- if (Array.isArray(arr))
512
- return _arrayLikeToArray$2(arr);
513
- }
514
- function _arrayWithHoles(arr) {
515
- if (Array.isArray(arr))
516
- return arr;
517
- }
518
- function _iterableToArray$1(iter) {
519
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
520
- return Array.from(iter);
521
- }
522
- function _unsupportedIterableToArray$2(o, minLen) {
523
- if (!o)
524
- return;
525
- if (typeof o === "string")
526
- return _arrayLikeToArray$2(o, minLen);
527
- var n = Object.prototype.toString.call(o).slice(8, -1);
528
- if (n === "Object" && o.constructor)
529
- n = o.constructor.name;
530
- if (n === "Map" || n === "Set")
531
- return Array.from(o);
532
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
533
- return _arrayLikeToArray$2(o, minLen);
534
- }
535
- function _arrayLikeToArray$2(arr, len) {
536
- if (len == null || len > arr.length)
537
- len = arr.length;
538
- for (var i = 0, arr2 = new Array(len); i < len; i++)
539
- arr2[i] = arr[i];
540
- return arr2;
541
- }
542
- function _nonIterableSpread$1() {
543
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
544
- }
545
- function _nonIterableRest() {
546
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
547
- }
548
- function _createForOfIteratorHelper$1(o, allowArrayLike) {
549
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
550
- if (!it) {
551
- if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
552
- if (it)
553
- o = it;
554
- var i = 0;
555
- var F = function() {
556
- };
557
- return {
558
- s: F,
559
- n: function() {
560
- if (i >= o.length)
561
- return {
562
- done: true
563
- };
564
- return {
565
- done: false,
566
- value: o[i++]
567
- };
568
- },
569
- e: function(e) {
570
- throw e;
571
- },
572
- f: F
573
- };
574
- }
575
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
576
- }
577
- var normalCompletion = true, didErr = false, err;
578
- return {
579
- s: function() {
580
- it = it.call(o);
581
- },
582
- n: function() {
583
- var step = it.next();
584
- normalCompletion = step.done;
585
- return step;
586
- },
587
- e: function(e) {
588
- didErr = true;
589
- err = e;
590
- },
591
- f: function() {
592
- try {
593
- if (!normalCompletion && it.return != null)
594
- it.return();
595
- } finally {
596
- if (didErr)
597
- throw err;
598
- }
599
- }
600
- };
601
- }
602
478
  function _toPrimitive$2(input, hint) {
603
479
  if (typeof input !== "object" || input === null)
604
480
  return input;
@@ -1654,7 +1530,7 @@ util.getCurrentTimeByOffset = function(offsetTime, segments) {
1654
1530
  }
1655
1531
  return offsetTime;
1656
1532
  };
1657
- var version = "3.0.19-rc.0";
1533
+ var version = "3.0.20-rc.6";
1658
1534
  var ERROR_MAP = {
1659
1535
  1: 5101,
1660
1536
  2: 5102,
@@ -1718,8 +1594,6 @@ var Errors = /* @__PURE__ */ _createClass$1(
1718
1594
  }
1719
1595
  }
1720
1596
  );
1721
- var PLAY = "play";
1722
- var PAUSE = "pause";
1723
1597
  var ERROR = "error";
1724
1598
  var DESTROY = "destroy";
1725
1599
  var URL_CHANGE = "urlchange";
@@ -1764,8 +1638,7 @@ function hook(hookName, handler) {
1764
1638
  }
1765
1639
  if (this.__hooks && this.__hooks[hookName]) {
1766
1640
  try {
1767
- var _this$__hooks$hookNam;
1768
- var preRet = (_this$__hooks$hookNam = this.__hooks[hookName]).call.apply(_this$__hooks$hookNam, [this, this].concat(Array.prototype.slice.call(arguments)));
1641
+ var preRet = runHooks(this, hookName, handler);
1769
1642
  if (preRet) {
1770
1643
  if (preRet.then) {
1771
1644
  preRet.then(function(isContinue) {
@@ -1790,6 +1663,19 @@ function hook(hookName, handler) {
1790
1663
  }
1791
1664
  }.bind(this);
1792
1665
  }
1666
+ function findHookIndex(hookName, handler) {
1667
+ var __hooks = this.__hooks;
1668
+ if (!__hooks || !Array.isArray(__hooks[hookName])) {
1669
+ return -1;
1670
+ }
1671
+ var hookHandlers = __hooks[hookName];
1672
+ for (var i = 0; i < hookHandlers.length; i++) {
1673
+ if (hookHandlers[i] === handler) {
1674
+ return i;
1675
+ }
1676
+ }
1677
+ return -1;
1678
+ }
1793
1679
  function useHooks(hookName, handler) {
1794
1680
  var __hooks = this.__hooks;
1795
1681
  if (!__hooks) {
@@ -1799,7 +1685,12 @@ function useHooks(hookName, handler) {
1799
1685
  console.warn("has no supported hook which name [".concat(hookName, "]"));
1800
1686
  return false;
1801
1687
  }
1802
- __hooks && (__hooks[hookName] = handler);
1688
+ if (!Array.isArray(__hooks[hookName])) {
1689
+ __hooks[hookName] = [];
1690
+ }
1691
+ if (findHookIndex.call(this, hookName, handler) === -1) {
1692
+ __hooks[hookName].push(handler);
1693
+ }
1803
1694
  return true;
1804
1695
  }
1805
1696
  function removeHooks(hookName, handler) {
@@ -1807,6 +1698,13 @@ function removeHooks(hookName, handler) {
1807
1698
  if (!__hooks) {
1808
1699
  return;
1809
1700
  }
1701
+ if (Array.isArray(__hooks[hookName])) {
1702
+ var hooks = __hooks[hookName];
1703
+ var index = findHookIndex.call(this, hookName, handler);
1704
+ if (index !== -1) {
1705
+ hooks.splice(index, 1);
1706
+ }
1707
+ }
1810
1708
  delete __hooks[hookName];
1811
1709
  }
1812
1710
  function hooksDescriptor(instance) {
@@ -1828,6 +1726,38 @@ function hooksDescriptor(instance) {
1828
1726
  function delHooksDescriptor(instance) {
1829
1727
  instance.__hooks = null;
1830
1728
  }
1729
+ function runHooks(obj, hookName, handler) {
1730
+ for (var _len5 = arguments.length, args = new Array(_len5 > 3 ? _len5 - 3 : 0), _key5 = 3; _key5 < _len5; _key5++) {
1731
+ args[_key5 - 3] = arguments[_key5];
1732
+ }
1733
+ if (obj.__hooks && Array.isArray(obj.__hooks[hookName])) {
1734
+ var hooks = obj.__hooks[hookName];
1735
+ var index = -1;
1736
+ var runHooksRecursive = function runHooksRecursive2(obj2, hookName2, handler2) {
1737
+ for (var _len6 = arguments.length, args2 = new Array(_len6 > 3 ? _len6 - 3 : 0), _key6 = 3; _key6 < _len6; _key6++) {
1738
+ args2[_key6 - 3] = arguments[_key6];
1739
+ }
1740
+ index++;
1741
+ if (hooks.length === 0 || index === hooks.length) {
1742
+ return handler2.call.apply(handler2, [obj2, obj2].concat(args2));
1743
+ }
1744
+ var hook2 = hooks[index];
1745
+ var ret = hook2.call.apply(hook2, [obj2, obj2].concat(args2));
1746
+ if (ret && ret.then) {
1747
+ return ret.then(function(data) {
1748
+ return data === false ? null : runHooksRecursive2.apply(void 0, [obj2, hookName2, handler2].concat(args2));
1749
+ }).catch(function(e) {
1750
+ console.warn("[runHooks]".concat(hookName2, " reject"), e.message);
1751
+ });
1752
+ } else if (ret !== false) {
1753
+ return runHooksRecursive2.apply(void 0, [obj2, hookName2, handler2].concat(args2));
1754
+ }
1755
+ };
1756
+ return runHooksRecursive.apply(void 0, [obj, hookName, handler].concat(args));
1757
+ } else {
1758
+ return handler.call.apply(handler, [obj, obj].concat(args));
1759
+ }
1760
+ }
1831
1761
  function showErrorMsg(pluginName, msg) {
1832
1762
  XG_DEBUG.logError("[".concat(pluginName, "] event or callback cant be undefined or null when call ").concat(msg));
1833
1763
  }
@@ -2067,6 +1997,18 @@ var BasePlugin = /* @__PURE__ */ function() {
2067
1997
  }
2068
1998
  }
2069
1999
  }
2000
+ }, {
2001
+ key: "defineMethod",
2002
+ value: function defineMethod(Obj, map) {
2003
+ for (var key in map) {
2004
+ if (Object.prototype.hasOwnProperty.call(map, key) && typeof map[key] === "function") {
2005
+ Object.defineProperty(Obj, key, {
2006
+ configurable: true,
2007
+ value: map[key]
2008
+ });
2009
+ }
2010
+ }
2011
+ }
2070
2012
  }, {
2071
2013
  key: "defaultConfig",
2072
2014
  get: function get() {
@@ -4934,8 +4876,7 @@ function getOption(opts) {
4934
4876
  loadTimeout: 5e3,
4935
4877
  stallInterval: 400,
4936
4878
  networkEvaluateInterval: 1e3,
4937
- delayHint: 0,
4938
- seamlesslyReload: false
4879
+ delayHint: 0
4939
4880
  }, opts);
4940
4881
  }
4941
4882
  function _getStats(stats) {
@@ -5185,519 +5126,6 @@ var NetworkEvaluate = /* @__PURE__ */ function() {
5185
5126
  }]);
5186
5127
  return NetworkEvaluate2;
5187
5128
  }();
5188
- var RTC_SEI_TYPE = /* @__PURE__ */ function(RTC_SEI_TYPE2) {
5189
- RTC_SEI_TYPE2[RTC_SEI_TYPE2["internal"] = 0] = "internal";
5190
- RTC_SEI_TYPE2[RTC_SEI_TYPE2["external"] = 1] = "external";
5191
- RTC_SEI_TYPE2[RTC_SEI_TYPE2["bypass"] = 2] = "bypass";
5192
- return RTC_SEI_TYPE2;
5193
- }(RTC_SEI_TYPE || {});
5194
- var UUID_INTERNAL = new Uint8Array([109, 167, 53, 190, 103, 90, 72, 1, 170, 89, 63, 164, 194, 199, 19, 85]);
5195
- var UUID_EXTERNAL = new Uint8Array([109, 167, 53, 190, 103, 90, 72, 1, 170, 89, 63, 164, 194, 199, 19, 84]);
5196
- var rbsp2ebsp = function rbsp2ebsp2(src) {
5197
- var result = [];
5198
- for (var i = 0; i < src.length; i++) {
5199
- if (src[i] <= 3 && src[i - 1] === 0 && src[i - 2] === 0) {
5200
- result.push(3);
5201
- }
5202
- result.push(src[i]);
5203
- }
5204
- return new Uint8Array(result);
5205
- };
5206
- var ebsp2rbsp = function ebsp2rbsp2(src) {
5207
- var result = [];
5208
- for (var i = 0; i < src.length; i++) {
5209
- if (src[i] <= 3 && src[i - 1] === 0 && src[i - 2] === 0) {
5210
- continue;
5211
- }
5212
- result.push(src[i]);
5213
- }
5214
- return new Uint8Array(result);
5215
- };
5216
- function serializeData(num) {
5217
- var result = [];
5218
- while (num >= 255) {
5219
- num -= 255;
5220
- result.push(255);
5221
- }
5222
- result.push(num);
5223
- return new Uint8Array(result);
5224
- }
5225
- function deserializeData(data) {
5226
- var offset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
5227
- var result = 0;
5228
- while (data[offset] === 255 && offset < data.byteLength) {
5229
- offset++;
5230
- result += 255;
5231
- }
5232
- if (offset < data.byteLength) {
5233
- result += data[offset++];
5234
- }
5235
- return [result, offset];
5236
- }
5237
- var SEIHelper = /* @__PURE__ */ function() {
5238
- function SEIHelper2() {
5239
- _classCallCheck$2(this, SEIHelper2);
5240
- }
5241
- _createClass$2(SEIHelper2, null, [{
5242
- key: "generateSEI",
5243
- value: function generateSEI(src) {
5244
- var internal = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
5245
- var annexbHeader = new Uint8Array([0, 0, 0, 1]);
5246
- var nalType = new Uint8Array([6]);
5247
- var seiType = new Uint8Array([5]);
5248
- var uuid = internal ? UUID_INTERNAL : UUID_EXTERNAL;
5249
- var serializedPayloadSize = serializeData(src.byteLength + uuid.byteLength);
5250
- var payloadEbsp = rbsp2ebsp(src);
5251
- return new Uint8Array([].concat(_toConsumableArray$1(annexbHeader), _toConsumableArray$1(nalType), _toConsumableArray$1(seiType), _toConsumableArray$1(serializedPayloadSize), _toConsumableArray$1(uuid), _toConsumableArray$1(payloadEbsp), [128]));
5252
- }
5253
- }, {
5254
- key: "decodeSeiBody",
5255
- value: function decodeSeiBody(src) {
5256
- src = src.slice(0, src.length - 1);
5257
- var rbsp = ebsp2rbsp(src);
5258
- if (rbsp.byteLength < 2) {
5259
- return;
5260
- }
5261
- var offset = 0;
5262
- if (!(rbsp[1] === 5 || rbsp[1] === 100)) {
5263
- return;
5264
- }
5265
- offset += 2;
5266
- var _deserializeData = deserializeData(rbsp, offset), _deserializeData2 = _slicedToArray(_deserializeData, 2), payloadLength = _deserializeData2[0], newOffset = _deserializeData2[1];
5267
- offset = newOffset;
5268
- var rtcSeiType = 2;
5269
- var end = offset + payloadLength;
5270
- if (rbsp.byteLength >= UUID_EXTERNAL.byteLength && payloadLength >= UUID_EXTERNAL.byteLength && rbsp.slice(offset, offset + UUID_EXTERNAL.byteLength).toString() === UUID_EXTERNAL.toString()) {
5271
- offset += UUID_EXTERNAL.byteLength;
5272
- rtcSeiType = 1;
5273
- } else if (rbsp.byteLength >= UUID_EXTERNAL.byteLength && payloadLength >= UUID_EXTERNAL.byteLength && rbsp.slice(offset, offset + UUID_INTERNAL.byteLength).toString() === UUID_INTERNAL.toString()) {
5274
- offset += UUID_INTERNAL.byteLength;
5275
- rtcSeiType = 0;
5276
- }
5277
- var seiPayload = rbsp.slice(offset, end);
5278
- return {
5279
- type: rtcSeiType,
5280
- payload: seiPayload
5281
- };
5282
- }
5283
- }, {
5284
- key: "parseInternalSEI",
5285
- value: function parseInternalSEI(decodedSEI) {
5286
- var result = /* @__PURE__ */ new Map();
5287
- var offset = 0;
5288
- if (decodedSEI.type === 0) {
5289
- while (decodedSEI.payload.byteLength - offset >= 2) {
5290
- var _deserializeData3 = deserializeData(decodedSEI.payload, offset), _deserializeData4 = _slicedToArray(_deserializeData3, 2), internalSeiType = _deserializeData4[0], newOffset = _deserializeData4[1];
5291
- offset = newOffset;
5292
- var _deserializeData5 = deserializeData(decodedSEI.payload, offset), _deserializeData6 = _slicedToArray(_deserializeData5, 2), internalSeiLength = _deserializeData6[0], newOff = _deserializeData6[1];
5293
- offset = newOff;
5294
- if (!result.get(internalSeiType) && internalSeiLength <= decodedSEI.payload.byteLength - offset) {
5295
- result.set(internalSeiType, decodedSEI.payload.slice(offset, offset + internalSeiLength));
5296
- offset += internalSeiLength;
5297
- } else {
5298
- break;
5299
- }
5300
- }
5301
- return result;
5302
- }
5303
- }
5304
- }, {
5305
- key: "makeInternalSei",
5306
- value: function makeInternalSei(map) {
5307
- var resultSeiList = [];
5308
- var _iterator = _createForOfIteratorHelper$1(map), _step;
5309
- try {
5310
- for (_iterator.s(); !(_step = _iterator.n()).done; ) {
5311
- var _step$value = _slicedToArray(_step.value, 2), type = _step$value[0], payload = _step$value[1];
5312
- var serializedType = serializeData(type);
5313
- var size = serializeData(payload.byteLength);
5314
- resultSeiList.push(serializedType, size, payload);
5315
- }
5316
- } catch (err) {
5317
- _iterator.e(err);
5318
- } finally {
5319
- _iterator.f();
5320
- }
5321
- var resultLength = resultSeiList.reduce(function(pre, cur) {
5322
- return pre + cur.byteLength;
5323
- }, 0);
5324
- var result = new Uint8Array(resultLength);
5325
- resultSeiList.reduce(function(pre, cur) {
5326
- result.set(cur, pre);
5327
- return pre + cur.byteLength;
5328
- }, 0);
5329
- return result;
5330
- }
5331
- }]);
5332
- return SEIHelper2;
5333
- }();
5334
- var Nalunit = /* @__PURE__ */ function() {
5335
- function Nalunit2() {
5336
- _classCallCheck$2(this, Nalunit2);
5337
- }
5338
- _createClass$2(Nalunit2, null, [{
5339
- key: "getNalunits",
5340
- value: function getNalunits(buffer) {
5341
- if (buffer.length - buffer.position < 4) {
5342
- return [];
5343
- }
5344
- var position = buffer.position;
5345
- if (buffer.getInt32(position) === 1 || buffer.getInt16(position) === 0 && buffer.getInt8(position + 2) === 1) {
5346
- return Nalunit2.getAnnexbNals(buffer);
5347
- } else {
5348
- return Nalunit2.getAvccNals(buffer);
5349
- }
5350
- }
5351
- }, {
5352
- key: "getAnnexbNals",
5353
- value: function getAnnexbNals(buffer) {
5354
- var nals = [];
5355
- var position = Nalunit2.getHeaderPositionAnnexB(buffer);
5356
- var start = position.pos;
5357
- var end = start;
5358
- while (start < buffer.length - 4) {
5359
- var header = new Uint8Array(buffer.buffer.slice(start, start + position.headerLength));
5360
- if (position.pos === buffer.position) {
5361
- buffer.skip(position.headerLength);
5362
- }
5363
- position = Nalunit2.getHeaderPositionAnnexB(buffer);
5364
- end = position.pos;
5365
- var body = new Uint8Array(buffer.buffer.slice(start + header.byteLength, end));
5366
- var unit = {
5367
- header,
5368
- body,
5369
- type: -1
5370
- };
5371
- Nalunit2.analyseNal(unit);
5372
- if (unit.type <= 9 && unit.type !== 0) {
5373
- nals.push(unit);
5374
- }
5375
- buffer.skip(end - buffer.position);
5376
- start = end;
5377
- }
5378
- return nals;
5379
- }
5380
- }, {
5381
- key: "getAvccNals",
5382
- value: function getAvccNals(buffer) {
5383
- var nals = [];
5384
- while (buffer.position < buffer.length - 4) {
5385
- var length = buffer.getInt32(buffer.position);
5386
- if (buffer.length - buffer.position >= length) {
5387
- var header = new Uint8Array(buffer.buffer.slice(buffer.position, buffer.position + 4));
5388
- buffer.skip(4);
5389
- var body = new Uint8Array(buffer.buffer.slice(buffer.position, buffer.position + length));
5390
- buffer.skip(length);
5391
- var unit = {
5392
- header,
5393
- body,
5394
- type: -1
5395
- };
5396
- Nalunit2.analyseNal(unit);
5397
- if (unit.type <= 9 && unit.type !== 0) {
5398
- nals.push(unit);
5399
- }
5400
- } else {
5401
- break;
5402
- }
5403
- }
5404
- return nals;
5405
- }
5406
- }, {
5407
- key: "analyseNal",
5408
- value: function analyseNal(unit) {
5409
- var type = unit.body[0] & 31;
5410
- unit.type = type;
5411
- switch (type) {
5412
- case 1:
5413
- unit.ndr = true;
5414
- break;
5415
- case 5:
5416
- unit.idr = true;
5417
- break;
5418
- case 6:
5419
- unit.sei = true;
5420
- break;
5421
- case 7:
5422
- unit.sps = true;
5423
- break;
5424
- case 8:
5425
- unit.pps = true;
5426
- break;
5427
- }
5428
- }
5429
- }, {
5430
- key: "getHeaderPositionAnnexB",
5431
- value: function getHeaderPositionAnnexB(buffer) {
5432
- var pos = buffer.position;
5433
- var headerLength = 0;
5434
- var bufferLen = buffer.length;
5435
- while (headerLength !== 3 && headerLength !== 4 && pos < bufferLen - 4) {
5436
- if (buffer.getInt16(pos) === 0) {
5437
- if (buffer.getInt16(pos + 2) === 1) {
5438
- headerLength = 4;
5439
- } else if (buffer.getInt8(pos + 2) === 1) {
5440
- headerLength = 3;
5441
- } else {
5442
- pos++;
5443
- }
5444
- } else {
5445
- pos++;
5446
- }
5447
- }
5448
- if (pos === bufferLen - 4) {
5449
- if (buffer.getInt16(pos) === 0) {
5450
- if (buffer.getInt16(pos + 2) === 1) {
5451
- headerLength = 4;
5452
- } else {
5453
- pos = bufferLen;
5454
- }
5455
- } else {
5456
- pos++;
5457
- if (buffer.getInt16(pos) === 0 && buffer.getInt8(pos) === 1) {
5458
- headerLength = 3;
5459
- } else {
5460
- pos = bufferLen;
5461
- }
5462
- }
5463
- }
5464
- return {
5465
- pos,
5466
- headerLength
5467
- };
5468
- }
5469
- }]);
5470
- return Nalunit2;
5471
- }();
5472
- var RTCDataView = /* @__PURE__ */ function() {
5473
- function RTCDataView2(buffer) {
5474
- _classCallCheck$2(this, RTCDataView2);
5475
- this._position = 0;
5476
- this._dataview = new DataView(buffer);
5477
- }
5478
- _createClass$2(RTCDataView2, [{
5479
- key: "length",
5480
- get: function get() {
5481
- return this.buffer.byteLength;
5482
- }
5483
- }, {
5484
- key: "buffer",
5485
- get: function get() {
5486
- return this._dataview.buffer;
5487
- }
5488
- }, {
5489
- key: "position",
5490
- get: function get() {
5491
- return this._position;
5492
- },
5493
- set: function set(value) {
5494
- this._position = value;
5495
- }
5496
- }, {
5497
- key: "back",
5498
- value: function back(count) {
5499
- this.position -= count;
5500
- }
5501
- }, {
5502
- key: "getUint8",
5503
- value: function getUint8(offset) {
5504
- return this._dataview.getUint8(offset);
5505
- }
5506
- }, {
5507
- key: "getInt8",
5508
- value: function getInt8(offset) {
5509
- return this._dataview.getInt8(offset);
5510
- }
5511
- }, {
5512
- key: "getInt16",
5513
- value: function getInt16(offset) {
5514
- return this._dataview.getInt16(offset);
5515
- }
5516
- }, {
5517
- key: "getUint16",
5518
- value: function getUint16(offset) {
5519
- return this._dataview.getUint16(offset);
5520
- }
5521
- }, {
5522
- key: "getUint32",
5523
- value: function getUint32(offset) {
5524
- return this._dataview.getUint32(offset);
5525
- }
5526
- }, {
5527
- key: "getInt32",
5528
- value: function getInt32(offset) {
5529
- return this._dataview.getInt32(offset);
5530
- }
5531
- }, {
5532
- key: "skip",
5533
- value: function skip(count) {
5534
- var loop = Math.floor(count / 4);
5535
- var last = count % 4;
5536
- for (var i = 0; i < loop; i++) {
5537
- RTCDataView2.readByte(this, 4);
5538
- }
5539
- if (last > 0) {
5540
- RTCDataView2.readByte(this, last);
5541
- }
5542
- }
5543
- }, {
5544
- key: "readUint8",
5545
- value: function readUint8() {
5546
- return RTCDataView2.readByte(this, 1);
5547
- }
5548
- }, {
5549
- key: "readUint16",
5550
- value: function readUint16() {
5551
- return RTCDataView2.readByte(this, 2);
5552
- }
5553
- }, {
5554
- key: "readUint24",
5555
- value: function readUint24() {
5556
- return RTCDataView2.readByte(this, 3);
5557
- }
5558
- }, {
5559
- key: "readUint32",
5560
- value: function readUint32() {
5561
- return RTCDataView2.readByte(this, 4);
5562
- }
5563
- }, {
5564
- key: "readUint64",
5565
- value: function readUint64() {
5566
- return RTCDataView2.readByte(this, 8);
5567
- }
5568
- }, {
5569
- key: "readInt8",
5570
- value: function readInt8() {
5571
- return RTCDataView2.readByte(this, 1, true);
5572
- }
5573
- }, {
5574
- key: "readInt16",
5575
- value: function readInt16() {
5576
- return RTCDataView2.readByte(this, 2, true);
5577
- }
5578
- }, {
5579
- key: "readInt32",
5580
- value: function readInt32() {
5581
- return RTCDataView2.readByte(this, 4, true);
5582
- }
5583
- }, {
5584
- key: "writeUint32",
5585
- value: function writeUint32(value) {
5586
- return new Uint8Array([value >>> 24 & 255, value >>> 16 & 255, value >>> 8 & 255, value & 255]);
5587
- }
5588
- }], [{
5589
- key: "readByte",
5590
- value: function readByte(buffer, size, sign) {
5591
- var res;
5592
- switch (size) {
5593
- case 1:
5594
- if (sign) {
5595
- res = buffer.getInt8(buffer.position);
5596
- } else {
5597
- res = buffer.getUint8(buffer.position);
5598
- }
5599
- break;
5600
- case 2:
5601
- if (sign) {
5602
- res = buffer.getInt16(buffer.position);
5603
- } else {
5604
- res = buffer.getUint16(buffer.position);
5605
- }
5606
- break;
5607
- case 3:
5608
- if (sign) {
5609
- throw new Error("not supported for readByte 3");
5610
- } else {
5611
- res = buffer.getUint8(buffer.position) << 16;
5612
- res |= buffer.getUint8(buffer.position + 1) << 8;
5613
- res |= buffer.getUint8(buffer.position + 2);
5614
- }
5615
- break;
5616
- case 4:
5617
- if (sign) {
5618
- res = buffer.getInt32(buffer.position);
5619
- } else {
5620
- res = buffer.getUint32(buffer.position);
5621
- }
5622
- break;
5623
- case 8:
5624
- if (sign) {
5625
- throw new Error("not supported for readBody 8");
5626
- } else {
5627
- res = buffer.getUint32(buffer.position) << 32;
5628
- res |= buffer.getUint32(buffer.position + 4);
5629
- }
5630
- break;
5631
- default:
5632
- res = "";
5633
- }
5634
- buffer.position += size;
5635
- return res;
5636
- }
5637
- }]);
5638
- return RTCDataView2;
5639
- }();
5640
- function isSupported() {
5641
- if (!window.RTCPeerConnection || !window.RTCPeerConnection.prototype.addTransceiver) {
5642
- return false;
5643
- }
5644
- return true;
5645
- }
5646
- function getCapacity() {
5647
- if (!isSupported())
5648
- return Promise.reject("RTCPeerConnection no support");
5649
- var pc;
5650
- try {
5651
- pc = new RTCPeerConnection();
5652
- pc.addTransceiver("video", {
5653
- direction: "recvonly"
5654
- });
5655
- pc.addTransceiver("audio", {
5656
- direction: "recvonly"
5657
- });
5658
- } catch (e) {
5659
- return Promise.reject(e === null || e === void 0 ? void 0 : e.message);
5660
- }
5661
- return pc.createOffer().then(function(offer) {
5662
- var _sdpJson$media, _sdpJson$media2, _vMedia$rtp, _aMedia$rtp;
5663
- logger.log(offer.sdp);
5664
- var sdpJson = lib.parse(offer.sdp);
5665
- var vMedia = (_sdpJson$media = sdpJson.media) === null || _sdpJson$media === void 0 ? void 0 : _sdpJson$media.filter(function(x) {
5666
- return x.type === "video";
5667
- })[0];
5668
- var aMedia = (_sdpJson$media2 = sdpJson.media) === null || _sdpJson$media2 === void 0 ? void 0 : _sdpJson$media2.filter(function(x) {
5669
- return x.type === "audio";
5670
- })[0];
5671
- var vCodecs = vMedia === null || vMedia === void 0 ? void 0 : (_vMedia$rtp = vMedia.rtp) === null || _vMedia$rtp === void 0 ? void 0 : _vMedia$rtp.filter(function(x) {
5672
- return x.codec === "VP8" || x.codec === "VP9" || x.codec === "H264";
5673
- });
5674
- var aCodecs = aMedia === null || aMedia === void 0 ? void 0 : (_aMedia$rtp = aMedia.rtp) === null || _aMedia$rtp === void 0 ? void 0 : _aMedia$rtp.filter(function(x) {
5675
- return x.codec === "opus";
5676
- });
5677
- var vFmtp = vMedia === null || vMedia === void 0 ? void 0 : vMedia.fmtp;
5678
- var aFmtp = aMedia === null || aMedia === void 0 ? void 0 : aMedia.fmtp;
5679
- vFmtp && vCodecs.map(function(codec) {
5680
- var _vFmtp$filter$;
5681
- codec.config = (_vFmtp$filter$ = vFmtp.filter(function(x) {
5682
- return x.payload === codec.payload;
5683
- })[0]) === null || _vFmtp$filter$ === void 0 ? void 0 : _vFmtp$filter$.config;
5684
- });
5685
- aFmtp && aCodecs.map(function(codec) {
5686
- var _aFmtp$filter$;
5687
- codec.config = (_aFmtp$filter$ = aFmtp.filter(function(x) {
5688
- return x.payload === codec.payload;
5689
- })[0]) === null || _aFmtp$filter$ === void 0 ? void 0 : _aFmtp$filter$.config;
5690
- });
5691
- pc.close();
5692
- return {
5693
- video: vCodecs,
5694
- audio: aCodecs
5695
- };
5696
- });
5697
- }
5698
- var isEncodedTransformSupported = function isEncodedTransformSupported2() {
5699
- return typeof TransformStream !== "undefined" && typeof RTCRtpReceiver !== "undefined" && typeof RTCRtpReceiver.prototype.createEncodedStreams !== "undefined";
5700
- };
5701
5129
  var logger = new Logger("rts");
5702
5130
  var Rts = /* @__PURE__ */ function(_EventEmitter) {
5703
5131
  _inherits$1(Rts2, _EventEmitter);
@@ -5721,6 +5149,16 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
5721
5149
  _defineProperty$2(_assertThisInitialized$1(_this), "_onTrack", function(e) {
5722
5150
  logger.log("addTrack: ", e.track, e.streams);
5723
5151
  _this["_".concat(e.track.kind)] = e.track;
5152
+ if (!_this._mediaStream) {
5153
+ _this._mediaStream = new MediaStream();
5154
+ _this._media.srcObject = _this._mediaStream;
5155
+ var req = _this._media.play();
5156
+ if (req && req.catch) {
5157
+ req.catch(function(e2) {
5158
+ });
5159
+ }
5160
+ }
5161
+ _this._mediaStream.addTrack(e.track);
5724
5162
  });
5725
5163
  _defineProperty$2(_assertThisInitialized$1(_this), "_mockWaitingByTimeupdate", function() {
5726
5164
  var _this$_pc, _this$_pc2;
@@ -5879,7 +5317,6 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
5879
5317
  _this3.load(_this3._url);
5880
5318
  }
5881
5319
  if (pc.connectionState === "connected") {
5882
- _this3._handleMediaStream();
5883
5320
  _this3.emit(EVENT.TTFB, {
5884
5321
  url: _this3._url,
5885
5322
  responseUrl: _this3._url,
@@ -5888,62 +5325,6 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
5888
5325
  }
5889
5326
  });
5890
5327
  }
5891
- }, {
5892
- key: "_handleMediaStream",
5893
- value: function _handleMediaStream() {
5894
- if (this._opts.mediaStream && this._opts.seamlesslyReload) {
5895
- var videoTrack = this._opts.mediaStream.getVideoTracks()[0];
5896
- var audioTrack = this._opts.mediaStream.getAudioTracks()[0];
5897
- if (videoTrack) {
5898
- this._opts.mediaStream.removeTrack(videoTrack);
5899
- }
5900
- if (audioTrack) {
5901
- this._opts.mediaStream.removeTrack(audioTrack);
5902
- }
5903
- this._mediaStream = this._opts.mediaStream;
5904
- } else {
5905
- this._mediaStream = new MediaStream();
5906
- this._media.srcObject = this._mediaStream;
5907
- var req = this._media.play();
5908
- if (req && req.catch) {
5909
- req.catch(function(e) {
5910
- });
5911
- }
5912
- }
5913
- this._mediaStream.addTrack(this._audio);
5914
- this._mediaStream.addTrack(this._video);
5915
- }
5916
- }, {
5917
- key: "initVideoEncodedTransform",
5918
- value: function initVideoEncodedTransform() {
5919
- var _this4 = this;
5920
- if (!this._videoTransceicer || !this._videoTransceicer.receiver) {
5921
- console.log("no receiver found when trying to bind encodedTransform");
5922
- return;
5923
- }
5924
- var receiver = this._videoTransceicer.receiver;
5925
- if (isEncodedTransformSupported()) {
5926
- var _receiver$createEncod = receiver.createEncodedStreams(), readable = _receiver$createEncod.readable, writable = _receiver$createEncod.writable;
5927
- readable.pipeThrough(new TransformStream({
5928
- transform: function transform(chunk, controller) {
5929
- var nals = Nalunit.getNalunits(new RTCDataView(chunk.data));
5930
- nals.forEach(function(nalUnit) {
5931
- if (nalUnit.sei) {
5932
- var decodedSei = SEIHelper.decodeSeiBody(nalUnit.body);
5933
- if (decodedSei && decodedSei.type !== RTC_SEI_TYPE.internal) {
5934
- _this4.emit(EVENT.SEI, {
5935
- sei: {
5936
- content: decodedSei.payload
5937
- }
5938
- });
5939
- }
5940
- }
5941
- });
5942
- controller.enqueue(chunk);
5943
- }
5944
- })).pipeTo(writable);
5945
- }
5946
- }
5947
5328
  }, {
5948
5329
  key: "_bindMediaEvent",
5949
5330
  value: function _bindMediaEvent() {
@@ -5961,7 +5342,7 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
5961
5342
  case 0:
5962
5343
  pc = this._pc;
5963
5344
  if (!pc.addTransceiver) {
5964
- _context2.next = 12;
5345
+ _context2.next = 11;
5965
5346
  break;
5966
5347
  }
5967
5348
  this._audioTransceicer = pc.addTransceiver("audio", {
@@ -5970,7 +5351,6 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
5970
5351
  this._videoTransceicer = pc.addTransceiver("video", {
5971
5352
  direction: "recvonly"
5972
5353
  });
5973
- this.initVideoEncodedTransform();
5974
5354
  delayHint = this._opts.delayHint;
5975
5355
  if (delayHint) {
5976
5356
  this._audioTransceicer.receiver.playoutDelayHint = delayHint;
@@ -5978,22 +5358,22 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
5978
5358
  this._videoTransceicer.receiver.playoutDelayHint = delayHint;
5979
5359
  this._videoTransceicer.receiver.jitterBufferDelayHint = delayHint;
5980
5360
  }
5981
- _context2.next = 9;
5361
+ _context2.next = 8;
5982
5362
  return pc.createOffer();
5983
- case 9:
5363
+ case 8:
5984
5364
  offer = _context2.sent;
5985
- _context2.next = 15;
5986
- break;
5987
- case 12:
5988
5365
  _context2.next = 14;
5366
+ break;
5367
+ case 11:
5368
+ _context2.next = 13;
5989
5369
  return pc.createOffer({
5990
5370
  iceRestart: true,
5991
5371
  offerToReceiveAudio: true,
5992
5372
  offerToReceiveVideo: true
5993
5373
  });
5994
- case 14:
5374
+ case 13:
5995
5375
  offer = _context2.sent;
5996
- case 15:
5376
+ case 14:
5997
5377
  logger.log("local offer");
5998
5378
  logger.log(offer.sdp);
5999
5379
  parsed = lib.parse(offer.sdp);
@@ -6018,11 +5398,11 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
6018
5398
  });
6019
5399
  offer.sdp = lib.write(parsed);
6020
5400
  logger.log("local offer modified:\n", offer.sdp);
6021
- _context2.next = 23;
5401
+ _context2.next = 22;
6022
5402
  return pc.setLocalDescription(offer);
6023
- case 23:
5403
+ case 22:
6024
5404
  finnalUrl = this._url;
6025
- _context2.prev = 24;
5405
+ _context2.prev = 23;
6026
5406
  if (this._opts.preProcessUrl) {
6027
5407
  finnalUrl = this._opts.preProcessUrl(finnalUrl).url;
6028
5408
  }
@@ -6035,7 +5415,7 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
6035
5415
  sessionId
6036
5416
  });
6037
5417
  reqStart = Date.now();
6038
- _context2.next = 33;
5418
+ _context2.next = 32;
6039
5419
  return this._loader.load(finnalUrl, {
6040
5420
  body: JSON.stringify({
6041
5421
  sessionId,
@@ -6043,27 +5423,27 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
6043
5423
  localSdp: offer
6044
5424
  })
6045
5425
  });
6046
- case 33:
5426
+ case 32:
6047
5427
  res = _context2.sent;
6048
5428
  this.emit(EVENT.LOAD_RESPONSE_HEADERS, {
6049
5429
  headers: res.response.headers
6050
5430
  });
6051
5431
  answer = res === null || res === void 0 ? void 0 : res.data;
6052
5432
  if (!((answer === null || answer === void 0 ? void 0 : answer.code) === 404 || (answer === null || answer === void 0 ? void 0 : answer.code) === 403)) {
6053
- _context2.next = 41;
5433
+ _context2.next = 40;
6054
5434
  break;
6055
5435
  }
6056
5436
  err = StreamingError.create(answer.code === 404 ? ERR.NETWORK_NOTFOUND : ERR.NETWORK_FORBIDDEN, null, answer);
6057
5437
  err.errorType = ERR.NETWORK;
6058
5438
  this._emitError(err);
6059
5439
  return _context2.abrupt("return");
6060
- case 41:
5440
+ case 40:
6061
5441
  if (!((answer === null || answer === void 0 ? void 0 : answer.code) !== 200)) {
6062
- _context2.next = 43;
5442
+ _context2.next = 42;
6063
5443
  break;
6064
5444
  }
6065
5445
  throw new Error("code: ".concat(answer === null || answer === void 0 ? void 0 : answer.code, ", message:").concat(answer === null || answer === void 0 ? void 0 : answer.message));
6066
- case 43:
5446
+ case 42:
6067
5447
  logger.log("answer:");
6068
5448
  logger.log((_answer$remoteSdp = answer.remoteSdp) === null || _answer$remoteSdp === void 0 ? void 0 : _answer$remoteSdp.sdp);
6069
5449
  this.emit(EVENT.LOAD_COMPLETE, {
@@ -6078,21 +5458,21 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
6078
5458
  answer.remoteSdp.sdp = lib.write(_parsed);
6079
5459
  logger.log("answer modified:\n", answer.remoteSdp.sdp);
6080
5460
  this._rctConnectStartTs = Date.now();
6081
- _context2.next = 53;
5461
+ _context2.next = 52;
6082
5462
  return this._pc.setRemoteDescription(answer.remoteSdp);
6083
- case 53:
5463
+ case 52:
6084
5464
  this._networkEvaluate = new NetworkEvaluate(pc, this._opts.networkEvaluateInterval);
6085
- _context2.next = 59;
5465
+ _context2.next = 58;
6086
5466
  break;
6087
- case 56:
6088
- _context2.prev = 56;
6089
- _context2.t0 = _context2["catch"](24);
5467
+ case 55:
5468
+ _context2.prev = 55;
5469
+ _context2.t0 = _context2["catch"](23);
6090
5470
  this._emitError(StreamingError.network(_context2.t0));
6091
- case 59:
5471
+ case 58:
6092
5472
  case "end":
6093
5473
  return _context2.stop();
6094
5474
  }
6095
- }, _callee2, this, [[24, 56]]);
5475
+ }, _callee2, this, [[23, 55]]);
6096
5476
  }));
6097
5477
  function _connect() {
6098
5478
  return _connect2.apply(this, arguments);
@@ -6102,11 +5482,9 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
6102
5482
  }, {
6103
5483
  key: "_disconnect",
6104
5484
  value: function _disconnect() {
6105
- var _this$_loader, _this$_networkEvaluat2, _this$_videoTransceic, _this$_audioTransceic;
5485
+ var _this$_loader, _this$_networkEvaluat2;
6106
5486
  (_this$_loader = this._loader) === null || _this$_loader === void 0 ? void 0 : _this$_loader.cancel();
6107
5487
  (_this$_networkEvaluat2 = this._networkEvaluate) === null || _this$_networkEvaluat2 === void 0 ? void 0 : _this$_networkEvaluat2.destroy();
6108
- (_this$_videoTransceic = this._videoTransceicer) === null || _this$_videoTransceic === void 0 ? void 0 : _this$_videoTransceic.stop();
6109
- (_this$_audioTransceic = this._audioTransceicer) === null || _this$_audioTransceic === void 0 ? void 0 : _this$_audioTransceic.stop();
6110
5488
  this._audioTransceicer = null;
6111
5489
  this._videoTransceicer = null;
6112
5490
  this._mediaStream = null;
@@ -6120,10 +5498,10 @@ var Rts = /* @__PURE__ */ function(_EventEmitter) {
6120
5498
  }, {
6121
5499
  key: "destroy",
6122
5500
  value: function destroy() {
6123
- var _this$_media2, _this$_opts;
5501
+ var _this$_media2;
6124
5502
  this._disconnect();
6125
5503
  (_this$_media2 = this._media) === null || _this$_media2 === void 0 ? void 0 : _this$_media2.removeEventListener("timeupdate", this._mockWaitingByTimeupdate);
6126
- if (this._media && !((_this$_opts = this._opts) !== null && _this$_opts !== void 0 && _this$_opts.seamlesslyReload)) {
5504
+ if (this._media) {
6127
5505
  this._media.srcObject = null;
6128
5506
  }
6129
5507
  if (this._pc) {
@@ -6154,6 +5532,64 @@ try {
6154
5532
  }
6155
5533
  } catch (error) {
6156
5534
  }
5535
+ function isSupported() {
5536
+ if (!window.RTCPeerConnection || !window.RTCPeerConnection.prototype.addTransceiver) {
5537
+ return false;
5538
+ }
5539
+ return true;
5540
+ }
5541
+ function getCapacity() {
5542
+ if (!isSupported())
5543
+ return Promise.reject("RTCPeerConnection no support");
5544
+ var pc;
5545
+ try {
5546
+ pc = new RTCPeerConnection();
5547
+ pc.addTransceiver("video", {
5548
+ direction: "recvonly"
5549
+ });
5550
+ pc.addTransceiver("audio", {
5551
+ direction: "recvonly"
5552
+ });
5553
+ } catch (e) {
5554
+ return Promise.reject(e === null || e === void 0 ? void 0 : e.message);
5555
+ }
5556
+ return pc.createOffer().then(function(offer) {
5557
+ var _sdpJson$media, _sdpJson$media2, _vMedia$rtp, _aMedia$rtp;
5558
+ logger.log(offer.sdp);
5559
+ var sdpJson = lib.parse(offer.sdp);
5560
+ var vMedia = (_sdpJson$media = sdpJson.media) === null || _sdpJson$media === void 0 ? void 0 : _sdpJson$media.filter(function(x) {
5561
+ return x.type === "video";
5562
+ })[0];
5563
+ var aMedia = (_sdpJson$media2 = sdpJson.media) === null || _sdpJson$media2 === void 0 ? void 0 : _sdpJson$media2.filter(function(x) {
5564
+ return x.type === "audio";
5565
+ })[0];
5566
+ var vCodecs = vMedia === null || vMedia === void 0 ? void 0 : (_vMedia$rtp = vMedia.rtp) === null || _vMedia$rtp === void 0 ? void 0 : _vMedia$rtp.filter(function(x) {
5567
+ return x.codec === "VP8" || x.codec === "VP9" || x.codec === "H264";
5568
+ });
5569
+ var aCodecs = aMedia === null || aMedia === void 0 ? void 0 : (_aMedia$rtp = aMedia.rtp) === null || _aMedia$rtp === void 0 ? void 0 : _aMedia$rtp.filter(function(x) {
5570
+ return x.codec === "opus";
5571
+ });
5572
+ var vFmtp = vMedia === null || vMedia === void 0 ? void 0 : vMedia.fmtp;
5573
+ var aFmtp = aMedia === null || aMedia === void 0 ? void 0 : aMedia.fmtp;
5574
+ vFmtp && vCodecs.map(function(codec) {
5575
+ var _vFmtp$filter$;
5576
+ codec.config = (_vFmtp$filter$ = vFmtp.filter(function(x) {
5577
+ return x.payload === codec.payload;
5578
+ })[0]) === null || _vFmtp$filter$ === void 0 ? void 0 : _vFmtp$filter$.config;
5579
+ });
5580
+ aFmtp && aCodecs.map(function(codec) {
5581
+ var _aFmtp$filter$;
5582
+ codec.config = (_aFmtp$filter$ = aFmtp.filter(function(x) {
5583
+ return x.payload === codec.payload;
5584
+ })[0]) === null || _aFmtp$filter$ === void 0 ? void 0 : _aFmtp$filter$.config;
5585
+ });
5586
+ pc.close();
5587
+ return {
5588
+ video: vCodecs,
5589
+ audio: aCodecs
5590
+ };
5591
+ });
5592
+ }
6157
5593
  var RtsPlugin = /* @__PURE__ */ function(_BasePlugin) {
6158
5594
  _inherits$1(RtsPlugin2, _BasePlugin);
6159
5595
  var _super = _createSuper$1(RtsPlugin2);
@@ -6165,35 +5601,15 @@ var RtsPlugin = /* @__PURE__ */ function(_BasePlugin) {
6165
5601
  }
6166
5602
  _this = _super.call.apply(_super, [this].concat(args));
6167
5603
  _defineProperty$2(_assertThisInitialized$1(_this), "_rts", null);
6168
- _defineProperty$2(_assertThisInitialized$1(_this), "_mediaStream", null);
6169
5604
  _defineProperty$2(_assertThisInitialized$1(_this), "_rtsOpts", null);
6170
- _defineProperty$2(_assertThisInitialized$1(_this), "_onPause", function() {
6171
- var _this$_rts, _this$config, _this$_rts3;
6172
- if (!((_this$_rts = _this._rts) !== null && _this$_rts !== void 0 && _this$_rts._pc)) {
6173
- return;
6174
- }
6175
- if ((_this$config = _this.config) !== null && _this$config !== void 0 && _this$config.seamlesslyReload) {
6176
- var _this$_rts2;
6177
- _this._mediaStream = (_this$_rts2 = _this._rts) === null || _this$_rts2 === void 0 ? void 0 : _this$_rts2._mediaStream;
6178
- }
6179
- (_this$_rts3 = _this._rts) === null || _this$_rts3 === void 0 ? void 0 : _this$_rts3.destroy();
6180
- });
6181
- _defineProperty$2(_assertThisInitialized$1(_this), "_onPlay", function() {
6182
- var _this$_rts4;
6183
- if ((_this$_rts4 = _this._rts) !== null && _this$_rts4 !== void 0 && _this$_rts4._pc) {
6184
- return;
6185
- }
6186
- _this._init();
6187
- });
6188
5605
  _defineProperty$2(_assertThisInitialized$1(_this), "_init", function() {
6189
- var _this$_rts5;
6190
- (_this$_rts5 = _this._rts) === null || _this$_rts5 === void 0 ? void 0 : _this$_rts5.destroy();
5606
+ var _this$_rts;
5607
+ (_this$_rts = _this._rts) === null || _this$_rts === void 0 ? void 0 : _this$_rts.destroy();
6191
5608
  var config = _this.player.config;
6192
5609
  var rtsOpts = config.rts || {};
6193
5610
  _this._rtsOpts = rtsOpts;
6194
5611
  _this._rts = new Rts(_objectSpread2$2({
6195
5612
  media: _this.player.video,
6196
- mediaStream: _this._mediaStream,
6197
5613
  preProcessUrl: function preProcessUrl(url, ext) {
6198
5614
  var _this$player$preProce, _this$player;
6199
5615
  return ((_this$player$preProce = (_this$player = _this.player).preProcessUrl) === null || _this$player$preProce === void 0 ? void 0 : _this$player$preProce.call(_this$player, url, ext)) || {
@@ -6211,29 +5627,29 @@ var RtsPlugin = /* @__PURE__ */ function(_BasePlugin) {
6211
5627
  }
6212
5628
  });
6213
5629
  _defineProperty$2(_assertThisInitialized$1(_this), "destroy", function() {
6214
- var _this$_rts6;
5630
+ var _this$_rts2;
6215
5631
  _this.player.switchURL = _this._originSwitchFn;
6216
- (_this$_rts6 = _this._rts) === null || _this$_rts6 === void 0 ? void 0 : _this$_rts6.destroy();
5632
+ (_this$_rts2 = _this._rts) === null || _this$_rts2 === void 0 ? void 0 : _this$_rts2.destroy();
6217
5633
  });
6218
5634
  return _this;
6219
5635
  }
6220
5636
  _createClass$2(RtsPlugin2, [{
6221
5637
  key: "pc",
6222
5638
  get: function get() {
6223
- var _this$_rts7;
6224
- return (_this$_rts7 = this._rts) === null || _this$_rts7 === void 0 ? void 0 : _this$_rts7.pc;
5639
+ var _this$_rts3;
5640
+ return (_this$_rts3 = this._rts) === null || _this$_rts3 === void 0 ? void 0 : _this$_rts3.pc;
6225
5641
  }
6226
5642
  }, {
6227
5643
  key: "videoTrack",
6228
5644
  get: function get() {
6229
- var _this$_rts8;
6230
- return (_this$_rts8 = this._rts) === null || _this$_rts8 === void 0 ? void 0 : _this$_rts8.videoTack;
5645
+ var _this$_rts4;
5646
+ return (_this$_rts4 = this._rts) === null || _this$_rts4 === void 0 ? void 0 : _this$_rts4.videoTack;
6231
5647
  }
6232
5648
  }, {
6233
5649
  key: "audioTrack",
6234
5650
  get: function get() {
6235
- var _this$_rts9;
6236
- return (_this$_rts9 = this._rts) === null || _this$_rts9 === void 0 ? void 0 : _this$_rts9.audioTrack;
5651
+ var _this$_rts5;
5652
+ return (_this$_rts5 = this._rts) === null || _this$_rts5 === void 0 ? void 0 : _this$_rts5.audioTrack;
6237
5653
  }
6238
5654
  }, {
6239
5655
  key: "core",
@@ -6243,18 +5659,18 @@ var RtsPlugin = /* @__PURE__ */ function(_BasePlugin) {
6243
5659
  }, {
6244
5660
  key: "loader",
6245
5661
  get: function get() {
6246
- var _this$_rts10;
6247
- return (_this$_rts10 = this._rts) === null || _this$_rts10 === void 0 ? void 0 : _this$_rts10.loader;
5662
+ var _this$_rts6;
5663
+ return (_this$_rts6 = this._rts) === null || _this$_rts6 === void 0 ? void 0 : _this$_rts6.loader;
6248
5664
  }
6249
5665
  }, {
6250
5666
  key: "version",
6251
5667
  get: function get() {
6252
- return "0.2.1-alpha.5";
5668
+ return "0.2.1-alpha.0";
6253
5669
  }
6254
5670
  }, {
6255
5671
  key: "beforePlayerInit",
6256
5672
  value: function beforePlayerInit() {
6257
- var _this$player2, _this2 = this, _this$player$config, _this$player$config$r;
5673
+ var _this$player2, _this2 = this;
6258
5674
  this._init();
6259
5675
  if (!this._originSwitchFn) {
6260
5676
  this._originSwitchFn = this.player.switchURL.bind(this.player);
@@ -6266,10 +5682,6 @@ var RtsPlugin = /* @__PURE__ */ function(_BasePlugin) {
6266
5682
  });
6267
5683
  this.on(URL_CHANGE, this._onSwitchURL);
6268
5684
  this.on(DESTROY, this.destroy);
6269
- if ((_this$player$config = this.player.config) !== null && _this$player$config !== void 0 && (_this$player$config$r = _this$player$config.rts) !== null && _this$player$config$r !== void 0 && _this$player$config$r.seamlesslyReload) {
6270
- this.on(PAUSE, this._onPause);
6271
- this.on(PLAY, this._onPlay);
6272
- }
6273
5685
  this._transErrorEvent();
6274
5686
  this._transCoreEvent(EVENT.LOAD_START);
6275
5687
  this._transCoreEvent(EVENT.LOAD_COMPLETE);
@@ -6277,7 +5689,6 @@ var RtsPlugin = /* @__PURE__ */ function(_BasePlugin) {
6277
5689
  this._transCoreEvent(EVENT.LOAD_RESPONSE_HEADERS);
6278
5690
  this._transCoreEvent(EVENT.LOAD_RETRY);
6279
5691
  this._transCoreEvent(EVENT.METADATA_PARSED);
6280
- this._transCoreEvent(EVENT.SEI);
6281
5692
  this._transCoreEvent(EXTEND_EVENTS.RTC_STATE_CHANGE);
6282
5693
  try {
6283
5694
  BasePlugin.defineGetterOrSetter(this.player, {
@@ -6300,20 +5711,20 @@ var RtsPlugin = /* @__PURE__ */ function(_BasePlugin) {
6300
5711
  }, {
6301
5712
  key: "getStats",
6302
5713
  value: function getStats2() {
6303
- var _this$_rts11;
6304
- return (_this$_rts11 = this._rts) === null || _this$_rts11 === void 0 ? void 0 : _this$_rts11.getStats();
5714
+ var _this$_rts7;
5715
+ return (_this$_rts7 = this._rts) === null || _this$_rts7 === void 0 ? void 0 : _this$_rts7.getStats();
6305
5716
  }
6306
5717
  }, {
6307
5718
  key: "getStatsSnapshoot",
6308
5719
  value: function getStatsSnapshoot2() {
6309
- var _this$_rts12;
6310
- return (_this$_rts12 = this._rts) === null || _this$_rts12 === void 0 ? void 0 : _this$_rts12.getStatsSnapshoot();
5720
+ var _this$_rts8;
5721
+ return (_this$_rts8 = this._rts) === null || _this$_rts8 === void 0 ? void 0 : _this$_rts8.getStatsSnapshoot();
6311
5722
  }
6312
5723
  }, {
6313
5724
  key: "getNetWorkInfo",
6314
5725
  value: function getNetWorkInfo() {
6315
- var _this$_rts13;
6316
- return (_this$_rts13 = this._rts) === null || _this$_rts13 === void 0 ? void 0 : _this$_rts13.networkStats;
5726
+ var _this$_rts9;
5727
+ return (_this$_rts9 = this._rts) === null || _this$_rts9 === void 0 ? void 0 : _this$_rts9.networkStats;
6317
5728
  }
6318
5729
  }, {
6319
5730
  key: "_transErrorEvent",