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