@byteplus/veplayer-plugin 2.4.1-rc.1 → 2.4.2-rc.1

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.
@@ -1644,7 +1644,7 @@
1644
1644
  }
1645
1645
  return offsetTime;
1646
1646
  };
1647
- var version = "3.0.20-rc.3";
1647
+ var version = "3.0.19-rc.0";
1648
1648
  var ERROR_MAP = {
1649
1649
  1: 5101,
1650
1650
  2: 5102,
@@ -2678,7 +2678,7 @@
2678
2678
  arr2[i] = arr[i];
2679
2679
  return arr2;
2680
2680
  }
2681
- function _createForOfIteratorHelper$1(o, allowArrayLike) {
2681
+ function _createForOfIteratorHelper(o, allowArrayLike) {
2682
2682
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
2683
2683
  if (!it) {
2684
2684
  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
@@ -2866,21 +2866,6 @@
2866
2866
  length: Buffer2.totalLength && Buffer2.totalLength(buffers)
2867
2867
  };
2868
2868
  }
2869
- }, {
2870
- key: "isBuffered",
2871
- value: function isBuffered(media, pos) {
2872
- if (media) {
2873
- var buffered = Buffer2.get(media);
2874
- if (buffered !== null && buffered !== void 0 && buffered.length) {
2875
- for (var i = 0; i < buffered.length; i++) {
2876
- if (pos >= buffered.start(i) && pos <= buffered.end(i)) {
2877
- return true;
2878
- }
2879
- }
2880
- }
2881
- }
2882
- return false;
2883
- }
2884
2869
  }]);
2885
2870
  return Buffer2;
2886
2871
  }();
@@ -4785,7 +4770,7 @@
4785
4770
  value: function _getHeaders(xhr) {
4786
4771
  var headerLines = xhr.getAllResponseHeaders().trim().split("\r\n");
4787
4772
  var headers = {};
4788
- var _iterator = _createForOfIteratorHelper$1(headerLines), _step;
4773
+ var _iterator = _createForOfIteratorHelper(headerLines), _step;
4789
4774
  try {
4790
4775
  for (_iterator.s(); !(_step = _iterator.n()).done; ) {
4791
4776
  var header = _step.value;
@@ -5623,60 +5608,6 @@
5623
5608
  function _nonIterableRest() {
5624
5609
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5625
5610
  }
5626
- function _createForOfIteratorHelper(o, allowArrayLike) {
5627
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
5628
- if (!it) {
5629
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
5630
- if (it)
5631
- o = it;
5632
- var i = 0;
5633
- var F = function() {
5634
- };
5635
- return {
5636
- s: F,
5637
- n: function() {
5638
- if (i >= o.length)
5639
- return {
5640
- done: true
5641
- };
5642
- return {
5643
- done: false,
5644
- value: o[i++]
5645
- };
5646
- },
5647
- e: function(e) {
5648
- throw e;
5649
- },
5650
- f: F
5651
- };
5652
- }
5653
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5654
- }
5655
- var normalCompletion = true, didErr = false, err;
5656
- return {
5657
- s: function() {
5658
- it = it.call(o);
5659
- },
5660
- n: function() {
5661
- var step = it.next();
5662
- normalCompletion = step.done;
5663
- return step;
5664
- },
5665
- e: function(e) {
5666
- didErr = true;
5667
- err = e;
5668
- },
5669
- f: function() {
5670
- try {
5671
- if (!normalCompletion && it.return != null)
5672
- it.return();
5673
- } finally {
5674
- if (didErr)
5675
- throw err;
5676
- }
5677
- }
5678
- };
5679
- }
5680
5611
  function _toPrimitive(input, hint) {
5681
5612
  if (typeof input !== "object" || input === null)
5682
5613
  return input;
@@ -5699,7 +5630,6 @@
5699
5630
  METADATA: "metadata"
5700
5631
  };
5701
5632
  var VideoCodecType = {
5702
- AV1: "av1",
5703
5633
  AVC: "avc",
5704
5634
  HEVC: "hevc"
5705
5635
  };
@@ -5746,7 +5676,6 @@
5746
5676
  _defineProperty(this, "isVideoEncryption", false);
5747
5677
  _defineProperty(this, "isAudioEncryption", false);
5748
5678
  _defineProperty(this, "isVideo", true);
5749
- _defineProperty(this, "lastKeyFrameDts", 0);
5750
5679
  _defineProperty(this, "kid", null);
5751
5680
  _defineProperty(this, "pssh", null);
5752
5681
  _defineProperty(this, "ext", void 0);
@@ -5789,9 +5718,6 @@
5789
5718
  }, {
5790
5719
  key: "exist",
5791
5720
  value: function exist() {
5792
- if (/av01/.test(this.codec)) {
5793
- return true;
5794
- }
5795
5721
  return !!(this.pps.length && this.sps.length && this.codec);
5796
5722
  }
5797
5723
  }, {
@@ -6060,7 +5986,7 @@
6060
5986
  continue;
6061
5987
  }
6062
5988
  frameLength = (data[i + 3] & 3) << 11 | data[i + 4] << 3 | (data[i + 5] & 224) >> 5;
6063
- if (!frameLength || len - i < frameLength)
5989
+ if (len - i < frameLength)
6064
5990
  break;
6065
5991
  protectionSkipBytes = (~data[i + 1] & 1) * 2;
6066
5992
  frames.push({
@@ -6254,15 +6180,6 @@
6254
6180
  return parseInt(item, 16);
6255
6181
  });
6256
6182
  }
6257
- function combineToFloat(integer, decimal) {
6258
- return Number(integer + "." + decimal);
6259
- }
6260
- function toDegree(matrix) {
6261
- if (matrix.length < 5)
6262
- return 0;
6263
- var scaled0 = Math.hypot(matrix[0], matrix[3]), scaled1 = Math.hypot(matrix[1], matrix[4]);
6264
- return 0 === scaled0 || 0 === scaled1 ? 0 : 180 * Math.atan2(matrix[1] / scaled1, matrix[0] / scaled0) / Math.PI;
6265
- }
6266
6183
  var NALu = /* @__PURE__ */ function() {
6267
6184
  function NALu2() {
6268
6185
  _classCallCheck(this, NALu2);
@@ -6925,16 +6842,13 @@
6925
6842
  var AUDIO_EXCETION_LOG_EMIT_DURATION = 5 * 9e4;
6926
6843
  var MAX_VIDEO_FRAME_DURATION = 9e4;
6927
6844
  var MAX_DTS_DELTA_WITH_NEXT_CHUNK = 9e4 / 2;
6928
- var LARGE_AV_FIRST_FRAME_FORCE_FIX_THRESHOLD = 9e4 * 5;
6929
6845
  var TsFixer = /* @__PURE__ */ function() {
6930
- function TsFixer2(videoTrack, audioTrack, metadataTrack, fixerConfig) {
6846
+ function TsFixer2(videoTrack, audioTrack, metadataTrack) {
6931
6847
  _classCallCheck(this, TsFixer2);
6932
6848
  this.videoTrack = videoTrack;
6933
6849
  this.audioTrack = audioTrack;
6934
6850
  this.metadataTrack = metadataTrack;
6935
6851
  this._baseDts = -1;
6936
- this._baseVideoDts = -1;
6937
- this._baseAudioDts = -1;
6938
6852
  this._baseDtsInited = false;
6939
6853
  this._audioNextPts = void 0;
6940
6854
  this._videoNextDts = void 0;
@@ -6943,8 +6857,6 @@
6943
6857
  this._lastAudioExceptionGapDot = 0;
6944
6858
  this._lastAudioExceptionOverlapDot = 0;
6945
6859
  this._lastAudioExceptionLargeGapDot = 0;
6946
- this._needForceFixLargeGap = fixerConfig === null || fixerConfig === void 0 ? void 0 : fixerConfig.forceFixLargeGap;
6947
- this._largeGapThreshold = (fixerConfig === null || fixerConfig === void 0 ? void 0 : fixerConfig.largeGapThreshold) || LARGE_AV_FIRST_FRAME_FORCE_FIX_THRESHOLD;
6948
6860
  }
6949
6861
  _createClass(TsFixer2, [{
6950
6862
  key: "fix",
@@ -6972,16 +6884,10 @@
6972
6884
  if (discontinuity) {
6973
6885
  this._calculateBaseDts(this.audioTrack, this.videoTrack);
6974
6886
  this._baseDts -= startTime;
6975
- this._baseAudioDts -= startTime;
6976
- this._baseVideoDts -= startTime;
6977
6887
  }
6978
6888
  if (!contiguous) {
6979
6889
  this._videoNextDts = vaDelta > 0 ? startTime + vaDelta : startTime;
6980
6890
  this._audioNextPts = vaDelta > 0 ? startTime : startTime - vaDelta;
6981
- if (this._needForceFixLargeGap) {
6982
- this._videoNextDts = 0;
6983
- this._audioNextPts = 0;
6984
- }
6985
6891
  var vDeltaToNextDts = firstVideoSample ? firstVideoSample.dts - this._baseDts - this._videoNextDts : 0;
6986
6892
  var aDeltaToNextDts = firstAudioSample ? firstAudioSample.pts - this._baseDts - this._audioNextPts : 0;
6987
6893
  if (Math.abs(vDeltaToNextDts || aDeltaToNextDts) > MAX_VIDEO_FRAME_DURATION) {
@@ -7014,8 +6920,8 @@
7014
6920
  if (!samples.length)
7015
6921
  return;
7016
6922
  samples.forEach(function(x) {
7017
- x.dts -= _this2._needForceFixLargeGap ? _this2._baseVideoDts : _this2._baseDts;
7018
- x.pts -= _this2._needForceFixLargeGap ? _this2._baseVideoDts : _this2._baseDts;
6923
+ x.dts -= _this2._baseDts;
6924
+ x.pts -= _this2._baseDts;
7019
6925
  });
7020
6926
  if (this._videoNextDts === void 0) {
7021
6927
  var samp0 = samples[0];
@@ -7108,7 +7014,7 @@
7108
7014
  if (!samples.length)
7109
7015
  return;
7110
7016
  samples.forEach(function(x) {
7111
- x.pts -= _this3._needForceFixLargeGap ? _this3._baseAudioDts : _this3._baseDts;
7017
+ x.pts -= _this3._baseDts;
7112
7018
  x.dts = x.pts;
7113
7019
  });
7114
7020
  this._doFixAudioInternal(audioTrack, samples, 9e4);
@@ -7125,15 +7031,12 @@
7125
7031
  var videoBaseDts = Infinity;
7126
7032
  if (audioSamps.length) {
7127
7033
  audioTrack.baseDts = audioBasePts = audioSamps[0].pts;
7128
- this._baseAudioDts = audioBasePts;
7129
7034
  }
7130
7035
  if (videoSamps.length) {
7131
7036
  videoTrack.baseDts = videoBaseDts = videoSamps[0].dts;
7132
- this._baseVideoDts = videoBaseDts;
7133
7037
  }
7134
7038
  this._baseDts = Math.min(audioBasePts, videoBaseDts);
7135
7039
  var delta = videoBaseDts - audioBasePts;
7136
- var largeGap = false;
7137
7040
  if (Number.isFinite(delta) && Math.abs(delta) > LARGE_AV_FIRST_FRAME_GAP) {
7138
7041
  videoTrack.warnings.push({
7139
7042
  type: WarningType.LARGE_AV_SHIFT,
@@ -7143,16 +7046,6 @@
7143
7046
  delta
7144
7047
  });
7145
7048
  }
7146
- if (Number.isFinite(delta) && Math.abs(delta) > this._largeGapThreshold * MAX_SILENT_FRAME_DURATION) {
7147
- largeGap = true;
7148
- }
7149
- if (!this._baseDtsInited) {
7150
- if (largeGap && this._needForceFixLargeGap) {
7151
- this._needForceFixLargeGap = true;
7152
- } else {
7153
- this._needForceFixLargeGap = false;
7154
- }
7155
- }
7156
7049
  this._baseDtsInited = true;
7157
7050
  return true;
7158
7051
  }
@@ -7246,7 +7139,6 @@
7246
7139
  var logger$4 = new Logger$1("TsDemuxer");
7247
7140
  var TsDemuxer = /* @__PURE__ */ function() {
7248
7141
  function TsDemuxer2(videoTrack, audioTrack, metadataTrack) {
7249
- var fixerConfig = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
7250
7142
  _classCallCheck(this, TsDemuxer2);
7251
7143
  _defineProperty(this, "_pmtId", -1);
7252
7144
  _defineProperty(this, "_remainingPacketData", null);
@@ -7256,7 +7148,7 @@
7256
7148
  this.videoTrack = videoTrack || new VideoTrack();
7257
7149
  this.audioTrack = audioTrack || new AudioTrack();
7258
7150
  this.metadataTrack = metadataTrack || new MetadataTrack();
7259
- this._fixer = new TsFixer(this.videoTrack, this.audioTrack, this.metadataTrack, fixerConfig);
7151
+ this._fixer = new TsFixer(this.videoTrack, this.audioTrack, this.metadataTrack);
7260
7152
  }
7261
7153
  _createClass(TsDemuxer2, [{
7262
7154
  key: "demux",
@@ -7603,207 +7495,6 @@
7603
7495
  }]);
7604
7496
  return TsDemuxer2;
7605
7497
  }();
7606
- var ByteReader = /* @__PURE__ */ function() {
7607
- function ByteReader2(buf, offset, len) {
7608
- _classCallCheck(this, ByteReader2);
7609
- this.dv = new DataView(buf);
7610
- this.start = this.offset = offset || this.dv.byteOffset;
7611
- this.end = len ? this.start + len : this.start + this.dv.byteLength;
7612
- }
7613
- _createClass(ByteReader2, [{
7614
- key: "buffer",
7615
- get: function get() {
7616
- return this.dv.buffer;
7617
- }
7618
- }, {
7619
- key: "unreadLength",
7620
- get: function get() {
7621
- return Math.max(this.end - this.offset, 0);
7622
- }
7623
- }, {
7624
- key: "size",
7625
- get: function get() {
7626
- return this.end - this.start;
7627
- }
7628
- }, {
7629
- key: "readFloat",
7630
- value: function readFloat(byteNum) {
7631
- var val = 0;
7632
- switch (byteNum) {
7633
- case 4:
7634
- val = this.dv.getFloat32(this.offset);
7635
- break;
7636
- case 8:
7637
- val = this.dv.getFloat64(this.offset);
7638
- break;
7639
- default:
7640
- throw new Error("read ".concat(byteNum, "-byte float is not supported"));
7641
- }
7642
- this.offset += byteNum;
7643
- return val;
7644
- }
7645
- }, {
7646
- key: "back",
7647
- value: function back(byteNum) {
7648
- this.offset -= byteNum;
7649
- }
7650
- }, {
7651
- key: "skip",
7652
- value: function skip(byteNum) {
7653
- this.offset += byteNum;
7654
- }
7655
- }, {
7656
- key: "readInt",
7657
- value: function readInt(byteNum) {
7658
- var offset = this.offset;
7659
- this.offset += byteNum;
7660
- switch (byteNum) {
7661
- case 1:
7662
- return this.dv.getInt8(offset);
7663
- case 2:
7664
- return this.dv.getInt16(offset);
7665
- case 4:
7666
- return this.dv.getInt32(offset);
7667
- default:
7668
- throw new Error("read ".concat(byteNum, "-byte integers is not supported"));
7669
- }
7670
- }
7671
- }, {
7672
- key: "read",
7673
- value: function read(byteNum) {
7674
- var offset = this.offset;
7675
- this.offset += byteNum;
7676
- switch (byteNum) {
7677
- case 1:
7678
- return this.dv.getUint8(offset);
7679
- case 2:
7680
- return this.dv.getUint16(offset);
7681
- case 3:
7682
- return (this.dv.getUint16(offset) << 8) + this.dv.getUint8(offset + 2);
7683
- case 4:
7684
- return this.dv.getUint32(offset);
7685
- default:
7686
- this.back(byteNum - 4);
7687
- return this.read(byteNum - 4) + this.dv.getUint32(offset) * Math.pow(256, byteNum - 4);
7688
- }
7689
- }
7690
- }, {
7691
- key: "write",
7692
- value: function write(byteNum, val) {
7693
- var offset = this.offset;
7694
- this.offset += byteNum;
7695
- switch (byteNum) {
7696
- case 1:
7697
- return this.dv.setUint8(offset, val);
7698
- case 2:
7699
- return this.dv.setUint16(offset, val);
7700
- case 3:
7701
- return this.dv.setUint8(offset, val >>> 16), this.dv.setUint16(offset + 1, 65535 & val);
7702
- case 4:
7703
- return this.dv.setUint32(offset, val);
7704
- default:
7705
- throw new Error("write ".concat(byteNum, "-byte integers is not supported"));
7706
- }
7707
- }
7708
- }, {
7709
- key: "readToBuffer",
7710
- value: function readToBuffer(len) {
7711
- var buffer;
7712
- if (this.offset || len) {
7713
- buffer = this.dv.buffer.slice(this.offset, len ? this.offset + len : this.end);
7714
- } else {
7715
- buffer = this.dv.buffer;
7716
- }
7717
- this.offset += buffer.byteLength;
7718
- return buffer;
7719
- }
7720
- }, {
7721
- key: "readToUint8",
7722
- value: function readToUint8(len) {
7723
- var uint8 = new Uint8Array(this.dv.buffer, this.offset, len || this.unreadLength);
7724
- this.offset += uint8.byteLength;
7725
- return uint8;
7726
- }
7727
- }, {
7728
- key: "readString",
7729
- value: function readString(len) {
7730
- var i = 0, str = "";
7731
- for (; i < len; i++) {
7732
- str += String.fromCharCode(this.dv.getUint8(this.offset));
7733
- this.offset++;
7734
- }
7735
- return str;
7736
- }
7737
- }], [{
7738
- key: "fromUint8",
7739
- value: function fromUint8(uint8) {
7740
- return new ByteReader2(uint8.buffer, uint8.byteOffset, uint8.byteLength);
7741
- }
7742
- }, {
7743
- key: "concatUint8s",
7744
- value: function concatUint8s(args) {
7745
- var uint8 = new Uint8Array(args.reduce(function(ret, v) {
7746
- return ret + v.byteLength;
7747
- }, 0));
7748
- var offset = 0;
7749
- args.forEach(function(v) {
7750
- uint8.set(v, offset);
7751
- offset += v.byteLength;
7752
- });
7753
- return uint8;
7754
- }
7755
- }, {
7756
- key: "concatUint8",
7757
- value: function concatUint8() {
7758
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
7759
- args[_key] = arguments[_key];
7760
- }
7761
- return this.concatUint8s(args);
7762
- }
7763
- }]);
7764
- return ByteReader2;
7765
- }();
7766
- var BitReader = /* @__PURE__ */ function() {
7767
- function BitReader2(val, size) {
7768
- _classCallCheck(this, BitReader2);
7769
- this.offset = 0;
7770
- this.val = val;
7771
- this.size = size;
7772
- }
7773
- _createClass(BitReader2, [{
7774
- key: "skip",
7775
- value: function skip(len) {
7776
- this.offset += len;
7777
- }
7778
- }, {
7779
- key: "read",
7780
- value: function read(len) {
7781
- var unreadLength = this.size - this.offset - len;
7782
- if (unreadLength >= 0) {
7783
- var bits = 0, i = 0;
7784
- this.offset += len;
7785
- if (this.size > 31) {
7786
- for (; i < len; i++) {
7787
- bits += Math.pow(2, i);
7788
- }
7789
- return this.val / Math.pow(2, unreadLength) & bits;
7790
- } else {
7791
- for (; i < len; i++) {
7792
- bits += 1 << i;
7793
- }
7794
- return this.val >>> unreadLength & bits;
7795
- }
7796
- }
7797
- throw new Error("the number of the read operation exceeds the total length limit of bits");
7798
- }
7799
- }], [{
7800
- key: "fromByte",
7801
- value: function fromByte(byte, len) {
7802
- return new BitReader2(byte.read(len), len << 3);
7803
- }
7804
- }]);
7805
- return BitReader2;
7806
- }();
7807
7498
  var MP4Parser = /* @__PURE__ */ function() {
7808
7499
  function MP4Parser2() {
7809
7500
  _classCallCheck(this, MP4Parser2);
@@ -7961,36 +7652,18 @@
7961
7652
  key: "tkhd",
7962
7653
  value: function tkhd(box) {
7963
7654
  return parseBox(box, true, function(ret, data) {
7964
- var byte = ByteReader.fromUint8(data);
7655
+ var start = 0;
7965
7656
  if (ret.version === 1) {
7966
- byte.read(8);
7967
- byte.read(8);
7968
- ret.trackId = byte.read(4);
7969
- byte.read(4);
7970
- ret.duration = byte.read(8);
7657
+ ret.trackId = readBig32(data, 16);
7658
+ ret.duration = readBig64(data, 24);
7659
+ start += 32;
7971
7660
  } else {
7972
- byte.read(4);
7973
- byte.read(4);
7974
- ret.trackId = byte.read(4);
7975
- byte.read(4);
7976
- ret.duration = byte.read(4);
7977
- }
7978
- byte.skip(16);
7979
- ret.matrix = [];
7980
- for (var i = 0; i < 36; i++) {
7981
- ret.matrix.push(byte.read(1));
7982
- }
7983
- byte.back(36);
7984
- var caculatedMatrix = [];
7985
- for (var _i = 0, int32; _i < 3; _i++) {
7986
- caculatedMatrix.push(combineToFloat(byte.readInt(2), byte.readInt(2)));
7987
- caculatedMatrix.push(combineToFloat(byte.readInt(2), byte.readInt(2)));
7988
- int32 = byte.readInt(4);
7989
- caculatedMatrix.push(combineToFloat(int32 >> 30, int32 & 1073741823));
7661
+ ret.trackId = readBig32(data, 8);
7662
+ ret.duration = readBig32(data, 16);
7663
+ start += 20;
7990
7664
  }
7991
- ret.rotation = toDegree(caculatedMatrix);
7992
- ret.width = byte.read(4);
7993
- ret.height = byte.read(4);
7665
+ ret.width = readBig32(data, start + 52);
7666
+ ret.height = readBig32(data, start + 56);
7994
7667
  });
7995
7668
  }
7996
7669
  }, {
@@ -8120,7 +7793,7 @@
8120
7793
  if (ret.version > 0) {
8121
7794
  var numKeyIds = readBig32(data, start);
8122
7795
  start += 4;
8123
- for (var _i2 = 0; _i2 < ("" + numKeyIds).length; _i2++) {
7796
+ for (var _i = 0; _i < ("" + numKeyIds).length; _i++) {
8124
7797
  for (var j = 0; j < 16; j++) {
8125
7798
  var keyId = data[start];
8126
7799
  start += 1;
@@ -8143,8 +7816,6 @@
8143
7816
  ret.entryCount = readBig32(data);
8144
7817
  ret.entries = MP4Parser2.findBox(data.subarray(4), [], start + 4).map(function(b) {
8145
7818
  switch (b.type) {
8146
- case "av01":
8147
- return MP4Parser2.av01(b);
8148
7819
  case "avc1":
8149
7820
  case "avc2":
8150
7821
  case "avc3":
@@ -8224,69 +7895,6 @@
8224
7895
  }
8225
7896
  });
8226
7897
  }
8227
- }, {
8228
- key: "colr",
8229
- value: function colr(box) {
8230
- return parseBox(box, false, function(ret, data) {
8231
- var byte = ByteReader.fromUint8(data);
8232
- ret.data = box.data;
8233
- ret.colorType = byte.readString(4);
8234
- if (ret.colorType === "nclx") {
8235
- ret.colorPrimaries = byte.read(2);
8236
- ret.transferCharacteristics = byte.read(2);
8237
- ret.matrixCoefficients = byte.read(2);
8238
- ret.fullRangeFlag = byte.read(1) >> 7;
8239
- } else if (ret.colorType === "rICC" || ret.colorType === "prof") {
8240
- ret.iccProfile = data.readToUint8();
8241
- }
8242
- });
8243
- }
8244
- }, {
8245
- key: "av01",
8246
- value: function av01(box) {
8247
- return parseBox(box, false, function(ret, data, start) {
8248
- var bodyStart = parseVisualSampleEntry(ret, data);
8249
- var bodyData = data.subarray(bodyStart);
8250
- start += bodyStart;
8251
- ret.av1C = MP4Parser2.av1C(MP4Parser2.findBox(bodyData, ["av1C"], start)[0]);
8252
- ret.colr = MP4Parser2.colr(MP4Parser2.findBox(bodyData, ["colr"], start)[0]);
8253
- });
8254
- }
8255
- }, {
8256
- key: "av1C",
8257
- value: function av1C(box) {
8258
- return parseBox(box, false, function(ret, data) {
8259
- ret.data = box.data;
8260
- var byte = ByteReader.fromUint8(data);
8261
- var bit = BitReader.fromByte(byte, 4);
8262
- ret.marker = bit.read(1);
8263
- ret.version = bit.read(7);
8264
- ret.seqProfile = bit.read(3);
8265
- ret.seqLevelIdx0 = bit.read(5);
8266
- ret.seqTier0 = bit.read(1);
8267
- ret.highBitdepth = bit.read(1);
8268
- ret.twelveBit = bit.read(1);
8269
- ret.monochrome = bit.read(1);
8270
- ret.chromaSubsamplingX = bit.read(1);
8271
- ret.chromaSubsamplingY = bit.read(1);
8272
- ret.chromaSamplePosition = bit.read(2);
8273
- ret.reserved = bit.read(3);
8274
- ret.initialPresentationDelayPresent = bit.read(1);
8275
- if (ret.initialPresentationDelayPresent) {
8276
- ret.initialPresentationDelayMinusOne = bit.read(4);
8277
- } else {
8278
- ret.initialPresentationDelayMinusOne = 0;
8279
- }
8280
- ret.configOBUs = byte.readToUint8();
8281
- var bitdepth;
8282
- if (ret.seqLevelIdx0 === 2 && ret.highBitdepth === 1) {
8283
- bitdepth = ret.twelveBit === 1 ? "12" : "10";
8284
- } else if (ret.seqProfile <= 2) {
8285
- bitdepth = ret.highBitdepth === 1 ? "10" : "08";
8286
- }
8287
- ret.codec = ["av01", ret.seqProfile, (ret.seqLevelIdx0 < 10 ? "0" + ret.seqLevelIdx0 : ret.seqLevelIdx0) + (ret.seqTier0 ? "H" : "M"), bitdepth].join(".");
8288
- });
8289
- }
8290
7898
  }, {
8291
7899
  key: "avc1",
8292
7900
  value: function avc1(box) {
@@ -8321,7 +7929,7 @@
8321
7929
  ret.ppsLength = data[start];
8322
7930
  start += 1;
8323
7931
  ret.pps = [];
8324
- for (var _i3 = 0; _i3 < ret.ppsLength; _i3++) {
7932
+ for (var _i2 = 0; _i2 < ret.ppsLength; _i2++) {
8325
7933
  var _size = readBig16(data, start);
8326
7934
  start += 2;
8327
7935
  ret.pps.push(data.subarray(start, start += _size));
@@ -8490,7 +8098,7 @@
8490
8098
  start += 8;
8491
8099
  }
8492
8100
  } else {
8493
- for (var _i4 = 0; _i4 < entryCount; _i4++) {
8101
+ for (var _i3 = 0; _i3 < entryCount; _i3++) {
8494
8102
  entries.push({
8495
8103
  count: readBig32(data, start),
8496
8104
  offset: -(~readBig32(data, start + 4) + 1)
@@ -8712,20 +8320,13 @@
8712
8320
  v.mvhdTimecale = moov.mvhd.timescale;
8713
8321
  v.timescale = v.formatTimescale = vTrack.mdia.mdhd.timescale;
8714
8322
  v.duration = vTrack.mdia.mdhd.duration || v.mvhdDurtion / v.mvhdTimecale * v.timescale;
8715
- v.rotation = vTrack.tkhd.rotation;
8716
- v.matrix = vTrack.tkhd.matrix;
8717
8323
  var e1 = vTrack.mdia.minf.stbl.stsd.entries[0];
8718
8324
  v.width = e1.width;
8719
8325
  v.height = e1.height;
8720
8326
  if (e1.pasp) {
8721
8327
  v.sarRatio = [e1.pasp.hSpacing, e1.pasp.vSpacing];
8722
8328
  }
8723
- if (e1.av1C) {
8724
- v.codecType = VideoCodecType.AV1;
8725
- v.codec = e1.av1C.codec;
8726
- v.av1C = e1.av1C.data;
8727
- v.colr = e1.colr.data;
8728
- } else if (e1.hvcC) {
8329
+ if (e1.hvcC) {
8729
8330
  v.codecType = VideoCodecType.HEVC;
8730
8331
  v.codec = e1.hvcC.codec;
8731
8332
  v.vps = e1.hvcC.vps;
@@ -9044,9 +8645,8 @@
9044
8645
  function parseBox(box, isFullBox, parse2) {
9045
8646
  if (!box)
9046
8647
  return;
9047
- if (box.size !== box.data.length) {
8648
+ if (box.size !== box.data.length)
9048
8649
  throw new Error("box ".concat(box.type, " size !== data.length"));
9049
- }
9050
8650
  var ret = {
9051
8651
  start: box.start,
9052
8652
  size: box.size,
@@ -9085,167 +8685,11 @@
9085
8685
  var FMP4Demuxer = /* @__PURE__ */ function() {
9086
8686
  function FMP4Demuxer2(videoTrack, audioTrack, metadataTrack) {
9087
8687
  _classCallCheck(this, FMP4Demuxer2);
9088
- _defineProperty(this, "__loadedMoofWraps", []);
9089
- _defineProperty(this, "__lastRemainData", null);
9090
- _defineProperty(this, "__lastRemainDataStart", 0);
9091
- _defineProperty(this, "__nextMoofStart", -1);
9092
8688
  this.videoTrack = videoTrack || new VideoTrack();
9093
8689
  this.audioTrack = audioTrack || new AudioTrack();
9094
8690
  this.metadataTrack = metadataTrack || new MetadataTrack();
9095
8691
  }
9096
8692
  _createClass(FMP4Demuxer2, [{
9097
- key: "demuxPart",
9098
- value: function demuxPart(partData, partDataStart, moov) {
9099
- var _this = this;
9100
- var videoTrack = this.videoTrack, audioTrack = this.audioTrack;
9101
- var videoExist = videoTrack.exist();
9102
- var audioExist = audioTrack.exist();
9103
- var isAV01 = /av01/.test(videoTrack.codec);
9104
- videoTrack.samples = [];
9105
- audioTrack.samples = [];
9106
- var data = partData;
9107
- var dataStart = partDataStart;
9108
- if (this.__lastRemainData) {
9109
- var lastRemainDataEnd = this.__lastRemainDataStart + this.__lastRemainData.byteLength;
9110
- var continuous = partDataStart <= lastRemainDataEnd && partDataStart > this.__lastRemainDataStart && partDataStart + partData.byteLength > lastRemainDataEnd;
9111
- if (continuous) {
9112
- var noDuplicateData = partData.subarray(this.__lastRemainData.byteLength + this.__lastRemainDataStart - partDataStart);
9113
- data = concatUint8Array(this.__lastRemainData, noDuplicateData);
9114
- dataStart = this.__lastRemainDataStart;
9115
- this.__lastRemainData = null;
9116
- } else {
9117
- this.__lastRemainData = null;
9118
- this.__lastRemainDataStart = 0;
9119
- this.__nextMoofStart = -1;
9120
- }
9121
- }
9122
- if (!moov) {
9123
- var moovBox = MP4Parser.findBox(data, ["moov"])[0];
9124
- if (!moovBox)
9125
- throw new Error("cannot found moov box");
9126
- moov = MP4Parser.moov(moovBox);
9127
- }
9128
- if (data) {
9129
- var dataEnd = dataStart + data.byteLength;
9130
- if (!videoExist && !audioExist) {
9131
- MP4Parser.moovToTrack(moov, videoTrack, audioTrack);
9132
- }
9133
- var moofBoxes = [];
9134
- if (this.__nextMoofStart < 0) {
9135
- MP4Parser.findBox(data, ["moof"], dataStart).forEach(function(v) {
9136
- return moofBoxes.push(v);
9137
- });
9138
- } else if (this.__nextMoofStart >= dataStart && this.__nextMoofStart <= dataEnd - 8) {
9139
- MP4Parser.findBox(data.subarray(this.__nextMoofStart - dataStart), ["moof"], this.__nextMoofStart).forEach(function(v) {
9140
- return moofBoxes.push(v);
9141
- });
9142
- }
9143
- moofBoxes.filter(function(moofBox) {
9144
- return moofBox.size <= moofBox.data.length;
9145
- }).forEach(function(moofBox) {
9146
- var moof = MP4Parser.moof(moofBox);
9147
- _this.__nextMoofStart = moof.start + Math.max.apply(Math, _toConsumableArray(moof.traf.map(function(v) {
9148
- return v.trun.samples.reduce(function(ret, w) {
9149
- return ret + w.size;
9150
- }, v.trun.dataOffset || 0);
9151
- })));
9152
- _this.__loadedMoofWraps.push({
9153
- start: moof.start,
9154
- nextMoofStart: _this.__nextMoofStart,
9155
- moof
9156
- });
9157
- _this.__loadedMoofWraps.sort(function(p, n) {
9158
- return p.start - n.start;
9159
- });
9160
- });
9161
- var _iterator = _createForOfIteratorHelper(this.__loadedMoofWraps), _step;
9162
- try {
9163
- var _loop = function _loop2() {
9164
- var moofWrap = _step.value;
9165
- if (moofWrap.start > dataEnd || moofWrap.nextMoofStart < dataStart) {
9166
- return "continue";
9167
- }
9168
- var moofStart = moofWrap.start;
9169
- var tracks = MP4Parser.moofToSamples(moofWrap.moof, videoTrack, audioTrack);
9170
- var videoBaseMediaDecodeTime = videoTrack.baseMediaDecodeTime;
9171
- var audioBaseMediaDecodeTime = audioTrack.baseMediaDecodeTime;
9172
- var nalSize;
9173
- Object.keys(tracks).forEach(function(k) {
9174
- if (videoTrack.id == k) {
9175
- tracks[k].some(function(x) {
9176
- var xStart = x.offset += moofStart;
9177
- if (xStart < dataStart) {
9178
- return;
9179
- }
9180
- if (xStart + x.size > dataEnd) {
9181
- return true;
9182
- }
9183
- var sample = new VideoSample((x.pts || x.dts) + videoBaseMediaDecodeTime, x.dts + videoBaseMediaDecodeTime);
9184
- sample.duration = x.duration;
9185
- sample.gopId = x.gopId;
9186
- if (x.keyframe)
9187
- sample.setToKeyframe();
9188
- var sampleData = data.subarray(xStart - dataStart, xStart - dataStart + x.size);
9189
- sample.data = sampleData;
9190
- if (!isAV01) {
9191
- var start = 0;
9192
- var len = sampleData.length - 1;
9193
- while (start < len) {
9194
- nalSize = readBig32(sampleData, start);
9195
- start += 4;
9196
- sample.units.push(sampleData.subarray(start, start + nalSize));
9197
- start += nalSize;
9198
- }
9199
- }
9200
- _this.__lastRemainDataStart = xStart + x.size;
9201
- videoTrack.samples.push(sample);
9202
- });
9203
- } else if (audioTrack.id == k) {
9204
- tracks[k].some(function(x) {
9205
- var xStart = x.offset + moofStart;
9206
- if (xStart < dataStart) {
9207
- return;
9208
- }
9209
- if (xStart + x.size > dataEnd) {
9210
- return true;
9211
- }
9212
- var sampleData = data.subarray(xStart - dataStart, xStart - dataStart + x.size);
9213
- audioTrack.samples.push(new AudioSample(x.dts + audioBaseMediaDecodeTime, sampleData, x.duration));
9214
- _this.__lastRemainDataStart = xStart + x.size;
9215
- });
9216
- }
9217
- });
9218
- };
9219
- for (_iterator.s(); !(_step = _iterator.n()).done; ) {
9220
- var _ret = _loop();
9221
- if (_ret === "continue")
9222
- continue;
9223
- }
9224
- } catch (err) {
9225
- _iterator.e(err);
9226
- } finally {
9227
- _iterator.f();
9228
- }
9229
- }
9230
- if (this.__lastRemainDataStart > dataStart && this.__lastRemainDataStart < data.byteLength + dataStart) {
9231
- this.__lastRemainData = data.subarray(this.__lastRemainDataStart - dataStart);
9232
- } else {
9233
- this.__lastRemainData = data;
9234
- this.__lastRemainDataStart = dataStart;
9235
- }
9236
- if (videoTrack.samples.length) {
9237
- videoTrack.baseMediaDecodeTime = videoTrack.samples[0].pts;
9238
- }
9239
- if (audioTrack.samples.length) {
9240
- audioTrack.baseMediaDecodeTime = audioTrack.samples[0].pts;
9241
- }
9242
- return {
9243
- videoTrack,
9244
- audioTrack,
9245
- metadataTrack: this.metadataTrack
9246
- };
9247
- }
9248
- }, {
9249
8693
  key: "demux",
9250
8694
  value: function demux(videoData, audioData) {
9251
8695
  var videoTrack = this.videoTrack, audioTrack = this.audioTrack;
@@ -9741,8 +9185,6 @@
9741
9185
  }
9742
9186
  } else if (track.useEME && track.encv) {
9743
9187
  content = MP42.encv(track);
9744
- } else if (track.av1C) {
9745
- content = MP42.av01(track);
9746
9188
  } else {
9747
9189
  content = MP42.avc1hev1(track);
9748
9190
  }
@@ -9955,90 +9397,6 @@
9955
9397
  var schi = MP42.schi(data);
9956
9398
  return MP42.box(MP42.types.sinf, content, MP42.box(MP42.types.frma, frma), MP42.box(MP42.types.schm, schm), schi);
9957
9399
  }
9958
- }, {
9959
- key: "av01",
9960
- value: function av01(track) {
9961
- return MP42.box(MP42.types.av01, new Uint8Array([
9962
- 0,
9963
- 0,
9964
- 0,
9965
- 0,
9966
- 0,
9967
- 0,
9968
- 0,
9969
- 1,
9970
- 0,
9971
- 0,
9972
- 0,
9973
- 0,
9974
- 0,
9975
- 0,
9976
- 0,
9977
- 0,
9978
- 0,
9979
- 0,
9980
- 0,
9981
- 0,
9982
- 0,
9983
- 0,
9984
- 0,
9985
- 0,
9986
- track.width >> 8 & 255,
9987
- track.width & 255,
9988
- track.height >> 8 & 255,
9989
- track.height & 255,
9990
- 0,
9991
- 72,
9992
- 0,
9993
- 0,
9994
- 0,
9995
- 72,
9996
- 0,
9997
- 0,
9998
- 0,
9999
- 0,
10000
- 0,
10001
- 0,
10002
- 0,
10003
- 1,
10004
- 0,
10005
- 0,
10006
- 0,
10007
- 0,
10008
- 0,
10009
- 0,
10010
- 0,
10011
- 0,
10012
- 0,
10013
- 0,
10014
- 0,
10015
- 0,
10016
- 0,
10017
- 0,
10018
- 0,
10019
- 0,
10020
- 0,
10021
- 0,
10022
- 0,
10023
- 0,
10024
- 0,
10025
- 0,
10026
- 0,
10027
- 0,
10028
- 0,
10029
- 0,
10030
- 0,
10031
- 0,
10032
- 0,
10033
- 0,
10034
- 0,
10035
- 0,
10036
- 0,
10037
- 24,
10038
- 17,
10039
- 17
10040
- ]), track.av1C, track.colr);
10041
- }
10042
9400
  }, {
10043
9401
  key: "avc1hev1",
10044
9402
  value: function avc1hev1(track) {
@@ -11011,7 +10369,7 @@
11011
10369
  }]);
11012
10370
  return MP42;
11013
10371
  }();
11014
- _defineProperty(MP4, "types", ["av01", "av1C", "avc1", "avcC", "hvc1", "hvcC", "dinf", "dref", "esds", "ftyp", "hdlr", "mdat", "mdhd", "mdia", "mfhd", "minf", "moof", "moov", "mp4a", "mvex", "mvhd", "pasp", "stbl", "stco", "stsc", "stsd", "stsz", "stts", "tfdt", "tfhd", "traf", "trak", "trex", "tkhd", "vmhd", "smhd", "ctts", "stss", "styp", "pssh", "sidx", "sbgp", "saiz", "saio", "senc", "trun", "encv", "enca", "sinf", "btrt", "frma", "tenc", "schm", "schi", "mehd", "fiel", "sdtp"].reduce(function(p, c) {
10372
+ _defineProperty(MP4, "types", ["avc1", "avcC", "hvc1", "hvcC", "dinf", "dref", "esds", "ftyp", "hdlr", "mdat", "mdhd", "mdia", "mfhd", "minf", "moof", "moov", "mp4a", "mvex", "mvhd", "pasp", "stbl", "stco", "stsc", "stsd", "stsz", "stts", "tfdt", "tfhd", "traf", "trak", "trex", "tkhd", "vmhd", "smhd", "ctts", "stss", "styp", "pssh", "sidx", "sbgp", "saiz", "saio", "senc", "trun", "encv", "enca", "sinf", "btrt", "frma", "tenc", "schm", "schi", "mehd", "fiel", "sdtp"].reduce(function(p, c) {
11015
10373
  p[c] = [c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2), c.charCodeAt(3)];
11016
10374
  return p;
11017
10375
  }, /* @__PURE__ */ Object.create(null)));
@@ -11346,46 +10704,30 @@
11346
10704
  };
11347
10705
  }
11348
10706
  var samples = track.samples;
11349
- var isAV01 = /av01/.test(track.codec);
11350
10707
  var mdatSize = 0;
11351
- if (isAV01) {
11352
- samples.forEach(function(s) {
11353
- mdatSize += s.data.byteLength;
11354
- });
11355
- } else {
11356
- samples.forEach(function(s) {
11357
- mdatSize += s.units.reduce(function(t, c) {
11358
- return t + c.byteLength;
11359
- }, 0);
11360
- mdatSize += s.units.length * 4;
11361
- });
11362
- }
10708
+ samples.forEach(function(s) {
10709
+ mdatSize += s.units.reduce(function(t, c) {
10710
+ return t + c.byteLength;
10711
+ }, 0);
10712
+ mdatSize += s.units.length * 4;
10713
+ });
11363
10714
  var mdata = new Uint8Array(mdatSize);
11364
- if (isAV01) {
11365
- for (var i = 0, l = samples.length, offset = 0, sample; i < l; i++) {
11366
- sample = samples[i];
11367
- mdata.set(sample.data, offset);
11368
- sample.size = sample.data.byteLength;
11369
- offset += sample.size;
11370
- }
11371
- } else {
11372
- var mdatView = new DataView(mdata.buffer);
11373
- var _loop = function _loop2(_offset2, _sample2) {
11374
- _sample2 = samples[_i];
11375
- var sampleSize = 0;
11376
- _sample2.units.forEach(function(u) {
11377
- mdatView.setUint32(_offset2, u.byteLength);
11378
- _offset2 += 4;
11379
- mdata.set(u, _offset2);
11380
- _offset2 += u.byteLength;
11381
- sampleSize += 4 + u.byteLength;
11382
- });
11383
- _sample2.size = sampleSize;
11384
- _offset = _offset2, _sample = _sample2;
11385
- };
11386
- for (var _i = 0, _l = samples.length, _offset = 0, _sample; _i < _l; _i++) {
11387
- _loop(_offset, _sample);
11388
- }
10715
+ var mdatView = new DataView(mdata.buffer);
10716
+ var _loop = function _loop2(_offset, _sample) {
10717
+ _sample = samples[i];
10718
+ var sampleSize = 0;
10719
+ _sample.units.forEach(function(u) {
10720
+ mdatView.setUint32(_offset, u.byteLength);
10721
+ _offset += 4;
10722
+ mdata.set(u, _offset);
10723
+ _offset += u.byteLength;
10724
+ sampleSize += 4 + u.byteLength;
10725
+ });
10726
+ _sample.size = sampleSize;
10727
+ offset = _offset, sample = _sample;
10728
+ };
10729
+ for (var i = 0, l = samples.length, offset = 0, sample; i < l; i++) {
10730
+ _loop(offset, sample);
11389
10731
  }
11390
10732
  var mdat = MP4.mdat(mdata);
11391
10733
  var moof = MP4.moof([track]);
@@ -11544,11 +10886,11 @@
11544
10886
  });
11545
10887
  var logger$3 = new Logger$2("Transmuxer");
11546
10888
  var Transmuxer = /* @__PURE__ */ function() {
11547
- function Transmuxer2(hls, isMP4, needRemux, fixerConfig) {
10889
+ function Transmuxer2(hls, isMP4, needRemux) {
11548
10890
  _classCallCheck$3(this, Transmuxer2);
11549
10891
  _defineProperty$3(this, "_initSegmentId", "");
11550
10892
  this.hls = hls;
11551
- this._demuxer = isMP4 ? new FMP4Demuxer() : new TsDemuxer(null, null, null, fixerConfig);
10893
+ this._demuxer = isMP4 ? new FMP4Demuxer() : new TsDemuxer();
11552
10894
  this._isMP4 = isMP4;
11553
10895
  if (needRemux)
11554
10896
  this._remuxer = new FMP4Remuxer(this._demuxer.videoTrack, this._demuxer.audioTrack);
@@ -11815,11 +11157,11 @@
11815
11157
  return;
11816
11158
  if (TsDemuxer.probe(chunk)) {
11817
11159
  if (!this._transmuxer)
11818
- this._transmuxer = new Transmuxer(this.hls, false, !this._softVideo, this.hls.config.fixerConfig);
11160
+ this._transmuxer = new Transmuxer(this.hls, false, !this._softVideo);
11819
11161
  } else if (MP4Parser.probe(chunk)) {
11820
11162
  if (this._softVideo) {
11821
11163
  if (!this._transmuxer)
11822
- this._transmuxer = new Transmuxer(this.hls, true, null, this.hls.config.fixerConfig);
11164
+ this._transmuxer = new Transmuxer(this.hls, true);
11823
11165
  } else {
11824
11166
  this._directAppend = true;
11825
11167
  var mix = false;
@@ -12262,11 +11604,7 @@
12262
11604
  minSegmentsStartPlay: 3,
12263
11605
  preferMMS: false,
12264
11606
  preferMMSStreaming: false,
12265
- mseLowLatency: true,
12266
- fixerConfig: {
12267
- forceFixLargeGap: false,
12268
- largeGapThreshold: 5
12269
- }
11607
+ mseLowLatency: true
12270
11608
  }, cfg), {}, {
12271
11609
  media
12272
11610
  });
@@ -12660,6 +11998,9 @@
12660
11998
  var endOfList = false;
12661
11999
  var partSegmentIndex = 0;
12662
12000
  while (line = lines[index++]) {
12001
+ if (endOfList) {
12002
+ break;
12003
+ }
12663
12004
  if (line[0] !== "#") {
12664
12005
  if (media.lowLatency) {
12665
12006
  curSN++;
@@ -12713,6 +12054,11 @@
12713
12054
  break;
12714
12055
  case "ENDLIST":
12715
12056
  {
12057
+ var _lastSegment = media.segments[media.segments.length - 1];
12058
+ if (_lastSegment) {
12059
+ _lastSegment.isLast = true;
12060
+ }
12061
+ media.live = false;
12716
12062
  endOfList = true;
12717
12063
  }
12718
12064
  break;
@@ -12816,14 +12162,11 @@
12816
12162
  });
12817
12163
  var lastSegment = media.segments[media.segments.length - 1];
12818
12164
  if (lastSegment) {
12819
- if (endOfList) {
12820
- lastSegment.isLast = true;
12821
- }
12822
12165
  media.endSN = lastSegment.sn;
12823
12166
  media.endPartIndex = lastSegment.partIndex;
12824
- }
12825
- if (endOfList) {
12826
- media.live = false;
12167
+ if (endOfList && !lastSegment.isLast) {
12168
+ lastSegment.isLast = true;
12169
+ }
12827
12170
  }
12828
12171
  media.totalDuration = totalDuration;
12829
12172
  media.endCC = curCC;
@@ -13920,7 +13263,7 @@
13920
13263
  _defineProperty$3(_assertThisInitialized$2(_this), "_switchUrlOpts", null);
13921
13264
  _defineProperty$3(_assertThisInitialized$2(_this), "_isProcessQuotaExceeded", false);
13922
13265
  _defineProperty$3(_assertThisInitialized$2(_this), "_loadSegment", /* @__PURE__ */ _asyncToGenerator$1(/* @__PURE__ */ _regeneratorRuntime$1().mark(function _callee() {
13923
- var _this$_playlist, nextSegment, lastSegment, _assertThisInitialize, config, minFrameDuration, maxBufferThroughout, bInfo, bufferThroughout;
13266
+ var nextSeg, _assertThisInitialize, config, bInfo, bufferThroughout;
13924
13267
  return _regeneratorRuntime$1().wrap(function _callee$(_context) {
13925
13268
  while (1)
13926
13269
  switch (_context.prev = _context.next) {
@@ -13931,44 +13274,42 @@
13931
13274
  }
13932
13275
  return _context.abrupt("return");
13933
13276
  case 2:
13934
- _this$_playlist = _this._playlist, nextSegment = _this$_playlist.nextSegment, lastSegment = _this$_playlist.lastSegment;
13277
+ nextSeg = _this._playlist.nextSegment;
13935
13278
  _assertThisInitialize = _assertThisInitialized$2(_this), config = _assertThisInitialize.config;
13936
- minFrameDuration = 0.016;
13937
- maxBufferThroughout = Math.min(Math.max((lastSegment === null || lastSegment === void 0 ? void 0 : lastSegment.duration) - minFrameDuration / 2 || 0, minFrameDuration), 0.1);
13938
- if (nextSegment) {
13939
- _context.next = 8;
13279
+ if (nextSeg) {
13280
+ _context.next = 6;
13940
13281
  break;
13941
13282
  }
13942
13283
  return _context.abrupt("return");
13943
- case 8:
13284
+ case 6:
13944
13285
  if (_this.isLive) {
13945
- _context.next = 18;
13286
+ _context.next = 16;
13946
13287
  break;
13947
13288
  }
13948
13289
  bInfo = _this.bufferInfo();
13949
13290
  if (_this.media.paused && !_this.media.currentTime) {
13950
13291
  bInfo = _this.bufferInfo(bInfo.nextStart || 0.5);
13951
13292
  }
13952
- bufferThroughout = Math.abs(bInfo.end - _this.media.duration) < maxBufferThroughout;
13293
+ bufferThroughout = Math.abs(bInfo.end - _this.media.duration) < 0.1;
13953
13294
  if (!(bInfo.remaining >= config.preloadTime || bufferThroughout)) {
13954
- _context.next = 15;
13295
+ _context.next = 13;
13955
13296
  break;
13956
13297
  }
13957
13298
  _this._tryEos();
13958
13299
  return _context.abrupt("return");
13959
- case 15:
13300
+ case 13:
13960
13301
  if (!(config.preferMMSStreaming && !_this._bufferService.msStreaming)) {
13961
- _context.next = 17;
13302
+ _context.next = 15;
13962
13303
  break;
13963
13304
  }
13964
13305
  return _context.abrupt("return");
13965
- case 17:
13966
- if (!_this._urlSwitching && _this._prevSegSn !== nextSegment.sn - 1 && bInfo.end && Math.abs(nextSegment.start - bInfo.end) > 1) {
13306
+ case 15:
13307
+ if (!_this._urlSwitching && _this._prevSegSn !== nextSeg.sn - 1 && bInfo.end && Math.abs(nextSeg.start - bInfo.end) > 1) {
13967
13308
  _this._playlist.setNextSegmentByIndex(_this._playlist.findSegmentIndexByTime(bInfo.end + 0.1));
13968
13309
  }
13969
- case 18:
13310
+ case 16:
13970
13311
  return _context.abrupt("return", _this._loadSegmentDirect());
13971
- case 19:
13312
+ case 17:
13972
13313
  case "end":
13973
13314
  return _context.stop();
13974
13315
  }
@@ -15221,8 +14562,8 @@
15221
14562
  value: function _tryEos() {
15222
14563
  var _this$_bufferService3, _this$_bufferService4;
15223
14564
  var media = this.media;
15224
- var _this$_playlist2 = this._playlist, nextSegment = _this$_playlist2.nextSegment, lastSegment = _this$_playlist2.lastSegment;
15225
- var eosAllowed = (!nextSegment || lastSegment && Buffer$1.isBuffered(media, lastSegment.start + lastSegment.duration / 2)) && media.readyState && media.duration > 0 && ((_this$_bufferService3 = this._bufferService) === null || _this$_bufferService3 === void 0 ? void 0 : _this$_bufferService3.msIsOpened) && !((_this$_bufferService4 = this._bufferService) !== null && _this$_bufferService4 !== void 0 && _this$_bufferService4.msHasOpTasks);
14565
+ var _this$_playlist = this._playlist, nextSegment = _this$_playlist.nextSegment, lastSegment = _this$_playlist.lastSegment;
14566
+ var eosAllowed = !nextSegment && media.readyState && media.duration > 0 && ((_this$_bufferService3 = this._bufferService) === null || _this$_bufferService3 === void 0 ? void 0 : _this$_bufferService3.msIsOpened) && !((_this$_bufferService4 = this._bufferService) !== null && _this$_bufferService4 !== void 0 && _this$_bufferService4.msHasOpTasks);
15226
14567
  if (!eosAllowed) {
15227
14568
  return;
15228
14569
  }
@@ -15258,7 +14599,7 @@
15258
14599
  }]);
15259
14600
  return Hls2;
15260
14601
  }(EventEmitter);
15261
- _defineProperty$3(Hls, "version", "3.0.20-rc.3");
14602
+ _defineProperty$3(Hls, "version", "3.0.19-rc.0");
15262
14603
  try {
15263
14604
  if (localStorage.getItem("xgd")) {
15264
14605
  Hls.enableLogger();