@volcengine/veplayer-plugin 2.4.3-rc.0 → 2.4.3-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.
@@ -67,10 +67,10 @@ function _regeneratorRuntime$1() {
67
67
  return obj[key] = value;
68
68
  };
69
69
  }
70
- function wrap(innerFn, outerFn, self, tryLocsList) {
70
+ function wrap(innerFn, outerFn, self2, tryLocsList) {
71
71
  var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []);
72
72
  return defineProperty(generator, "_invoke", {
73
- value: makeInvokeMethod(innerFn, self, context)
73
+ value: makeInvokeMethod(innerFn, self2, context)
74
74
  }), generator;
75
75
  }
76
76
  function tryCatch(fn, obj, arg) {
@@ -137,7 +137,7 @@ function _regeneratorRuntime$1() {
137
137
  }
138
138
  });
139
139
  }
140
- function makeInvokeMethod(innerFn, self, context) {
140
+ function makeInvokeMethod(innerFn, self2, context) {
141
141
  var state = "suspendedStart";
142
142
  return function(method, arg) {
143
143
  if ("executing" === state)
@@ -166,7 +166,7 @@ function _regeneratorRuntime$1() {
166
166
  } else
167
167
  "return" === context.method && context.abrupt("return", context.arg);
168
168
  state = "executing";
169
- var record = tryCatch(innerFn, self, context);
169
+ var record = tryCatch(innerFn, self2, context);
170
170
  if ("normal" === record.type) {
171
171
  if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel)
172
172
  continue;
@@ -248,9 +248,9 @@ function _regeneratorRuntime$1() {
248
248
  };
249
249
  }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function() {
250
250
  return this;
251
- }), exports.AsyncIterator = AsyncIterator, exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
251
+ }), exports.AsyncIterator = AsyncIterator, exports.async = function(innerFn, outerFn, self2, tryLocsList, PromiseImpl) {
252
252
  void 0 === PromiseImpl && (PromiseImpl = Promise);
253
- var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
253
+ var iter = new AsyncIterator(wrap(innerFn, outerFn, self2, tryLocsList), PromiseImpl);
254
254
  return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function(result) {
255
255
  return result.done ? result.value : iter.next();
256
256
  });
@@ -385,9 +385,9 @@ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
385
385
  }
386
386
  function _asyncToGenerator$1(fn) {
387
387
  return function() {
388
- var self = this, args = arguments;
388
+ var self2 = this, args = arguments;
389
389
  return new Promise(function(resolve, reject) {
390
- var gen = fn.apply(self, args);
390
+ var gen = fn.apply(self2, args);
391
391
  function _next(value) {
392
392
  asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
393
393
  }
@@ -514,19 +514,19 @@ function _objectWithoutProperties$1(source, excluded) {
514
514
  }
515
515
  return target;
516
516
  }
517
- function _assertThisInitialized$2(self) {
518
- if (self === void 0) {
517
+ function _assertThisInitialized$2(self2) {
518
+ if (self2 === void 0) {
519
519
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
520
520
  }
521
- return self;
521
+ return self2;
522
522
  }
523
- function _possibleConstructorReturn$2(self, call) {
523
+ function _possibleConstructorReturn$2(self2, call) {
524
524
  if (call && (typeof call === "object" || typeof call === "function")) {
525
525
  return call;
526
526
  } else if (call !== void 0) {
527
527
  throw new TypeError("Derived constructors may only return object or undefined");
528
528
  }
529
- return _assertThisInitialized$2(self);
529
+ return _assertThisInitialized$2(self2);
530
530
  }
531
531
  function _createSuper$2(Derived) {
532
532
  var hasNativeReflectConstruct = _isNativeReflectConstruct$2();
@@ -2176,10 +2176,10 @@ function _regeneratorRuntime() {
2176
2176
  return obj[key] = value;
2177
2177
  };
2178
2178
  }
2179
- function wrap(innerFn, outerFn, self, tryLocsList) {
2179
+ function wrap(innerFn, outerFn, self2, tryLocsList) {
2180
2180
  var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []);
2181
2181
  return defineProperty(generator, "_invoke", {
2182
- value: makeInvokeMethod(innerFn, self, context)
2182
+ value: makeInvokeMethod(innerFn, self2, context)
2183
2183
  }), generator;
2184
2184
  }
2185
2185
  function tryCatch(fn, obj, arg) {
@@ -2246,7 +2246,7 @@ function _regeneratorRuntime() {
2246
2246
  }
2247
2247
  });
2248
2248
  }
2249
- function makeInvokeMethod(innerFn, self, context) {
2249
+ function makeInvokeMethod(innerFn, self2, context) {
2250
2250
  var state = "suspendedStart";
2251
2251
  return function(method, arg) {
2252
2252
  if ("executing" === state)
@@ -2275,7 +2275,7 @@ function _regeneratorRuntime() {
2275
2275
  } else
2276
2276
  "return" === context.method && context.abrupt("return", context.arg);
2277
2277
  state = "executing";
2278
- var record = tryCatch(innerFn, self, context);
2278
+ var record = tryCatch(innerFn, self2, context);
2279
2279
  if ("normal" === record.type) {
2280
2280
  if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel)
2281
2281
  continue;
@@ -2357,9 +2357,9 @@ function _regeneratorRuntime() {
2357
2357
  };
2358
2358
  }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function() {
2359
2359
  return this;
2360
- }), exports.AsyncIterator = AsyncIterator, exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
2360
+ }), exports.AsyncIterator = AsyncIterator, exports.async = function(innerFn, outerFn, self2, tryLocsList, PromiseImpl) {
2361
2361
  void 0 === PromiseImpl && (PromiseImpl = Promise);
2362
- var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
2362
+ var iter = new AsyncIterator(wrap(innerFn, outerFn, self2, tryLocsList), PromiseImpl);
2363
2363
  return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function(result) {
2364
2364
  return result.done ? result.value : iter.next();
2365
2365
  });
@@ -2494,9 +2494,9 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2494
2494
  }
2495
2495
  function _asyncToGenerator(fn) {
2496
2496
  return function() {
2497
- var self = this, args = arguments;
2497
+ var self2 = this, args = arguments;
2498
2498
  return new Promise(function(resolve, reject) {
2499
- var gen = fn.apply(self, args);
2499
+ var gen = fn.apply(self2, args);
2500
2500
  function _next(value) {
2501
2501
  asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
2502
2502
  }
@@ -2670,19 +2670,19 @@ function _objectWithoutProperties(source, excluded) {
2670
2670
  }
2671
2671
  return target;
2672
2672
  }
2673
- function _assertThisInitialized$1(self) {
2674
- if (self === void 0) {
2673
+ function _assertThisInitialized$1(self2) {
2674
+ if (self2 === void 0) {
2675
2675
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
2676
2676
  }
2677
- return self;
2677
+ return self2;
2678
2678
  }
2679
- function _possibleConstructorReturn$1(self, call) {
2679
+ function _possibleConstructorReturn$1(self2, call) {
2680
2680
  if (call && (typeof call === "object" || typeof call === "function")) {
2681
2681
  return call;
2682
2682
  } else if (call !== void 0) {
2683
2683
  throw new TypeError("Derived constructors may only return object or undefined");
2684
2684
  }
2685
- return _assertThisInitialized$1(self);
2685
+ return _assertThisInitialized$1(self2);
2686
2686
  }
2687
2687
  function _createSuper$1(Derived) {
2688
2688
  var hasNativeReflectConstruct = _isNativeReflectConstruct$1();
@@ -5617,19 +5617,19 @@ function _isNativeReflectConstruct() {
5617
5617
  return false;
5618
5618
  }
5619
5619
  }
5620
- function _assertThisInitialized(self) {
5621
- if (self === void 0) {
5620
+ function _assertThisInitialized(self2) {
5621
+ if (self2 === void 0) {
5622
5622
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
5623
5623
  }
5624
- return self;
5624
+ return self2;
5625
5625
  }
5626
- function _possibleConstructorReturn(self, call) {
5626
+ function _possibleConstructorReturn(self2, call) {
5627
5627
  if (call && (typeof call === "object" || typeof call === "function")) {
5628
5628
  return call;
5629
5629
  } else if (call !== void 0) {
5630
5630
  throw new TypeError("Derived constructors may only return object or undefined");
5631
5631
  }
5632
- return _assertThisInitialized(self);
5632
+ return _assertThisInitialized(self2);
5633
5633
  }
5634
5634
  function _createSuper(Derived) {
5635
5635
  var hasNativeReflectConstruct = _isNativeReflectConstruct();
@@ -9430,13 +9430,13 @@ var Buffer = /* @__PURE__ */ function() {
9430
9430
  _createClass(Buffer2, [{
9431
9431
  key: "write",
9432
9432
  value: function write() {
9433
- var self = this;
9433
+ var self2 = this;
9434
9434
  for (var _len2 = arguments.length, buffer = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
9435
9435
  buffer[_key2] = arguments[_key2];
9436
9436
  }
9437
9437
  buffer.forEach(function(item) {
9438
9438
  if (item) {
9439
- self.buffer = Concat(Uint8Array, self.buffer, item);
9439
+ self2.buffer = Concat(Uint8Array, self2.buffer, item);
9440
9440
  } else {
9441
9441
  window.console.warn(item);
9442
9442
  }
@@ -12654,6 +12654,31 @@ var MediaSegmentKey = /* @__PURE__ */ function() {
12654
12654
  }]);
12655
12655
  return MediaSegmentKey2;
12656
12656
  }();
12657
+ var HlsUrlParameters = /* @__PURE__ */ function() {
12658
+ function HlsUrlParameters2(msn, part, skip) {
12659
+ _classCallCheck$3(this, HlsUrlParameters2);
12660
+ this.msn = msn;
12661
+ this.part = part;
12662
+ this.skip = skip;
12663
+ }
12664
+ _createClass$3(HlsUrlParameters2, [{
12665
+ key: "addDirectives",
12666
+ value: function addDirectives(uri) {
12667
+ var url = new self.URL(uri);
12668
+ if (this.msn !== void 0) {
12669
+ url.searchParams.set("_HLS_msn", this.msn.toString());
12670
+ }
12671
+ if (this.part) {
12672
+ url.searchParams.set("_HLS_part", this.part.toString());
12673
+ }
12674
+ if (this.skip) {
12675
+ url.searchParams.set("_HLS_skip", this.skip);
12676
+ }
12677
+ return url.href;
12678
+ }
12679
+ }]);
12680
+ return HlsUrlParameters2;
12681
+ }();
12657
12682
  var REGEXP_TAG = /^#(EXT[^:]*)(?::(.*))?$/;
12658
12683
  var REGEXP_ATTR = /([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g;
12659
12684
  var REGEXP_ABSOLUTE_URL = /^(?:[a-zA-Z0-9+\-.]+:)?\/\//;
@@ -12892,7 +12917,7 @@ function parseMediaPlaylist(lines, parentUrl, useLowLatency) {
12892
12917
  media.canBlockReload = _attr["CAN-BLOCK-RELOAD"] === "YES";
12893
12918
  media.partHoldBack = parseFloat(_attr["PART-HOLD-BACK"] || 0);
12894
12919
  media.canSkipUntil = parseFloat(_attr["CAN-SKIP-UNTIL"] || 0);
12895
- media.canSkipDateRanges = _attr["CAN-SKIP-DATERANGES"] === "YES";
12920
+ media.canSkipDateRanges = media.canSkipUntil > 0 && _attr["CAN-SKIP-DATERANGES"] === "YES";
12896
12921
  }
12897
12922
  break;
12898
12923
  case "ENDLIST":
@@ -12936,6 +12961,15 @@ function parseMediaPlaylist(lines, parentUrl, useLowLatency) {
12936
12961
  }
12937
12962
  break;
12938
12963
  case "PRELOAD-HINT":
12964
+ {
12965
+ var _attr3 = parseAttr(data);
12966
+ media.preloadHint = _attr3;
12967
+ if (_attr3["TYPE"] === "PART" && _attr3["URI"]) {
12968
+ var tmp = _attr3["URI"].split(".ts")[0].split("-");
12969
+ media.nextSN = tmp[3];
12970
+ media.nextIndex = tmp[tmp.length - 1];
12971
+ }
12972
+ }
12939
12973
  break;
12940
12974
  case "PROGRAM-DATE-TIME":
12941
12975
  curSegment.dataTime = data;
@@ -12955,21 +12989,21 @@ function parseMediaPlaylist(lines, parentUrl, useLowLatency) {
12955
12989
  break;
12956
12990
  case "KEY":
12957
12991
  {
12958
- var _attr3 = parseAttr(data);
12959
- if (_attr3.METHOD === "NONE") {
12992
+ var _attr4 = parseAttr(data);
12993
+ if (_attr4.METHOD === "NONE") {
12960
12994
  curKey = null;
12961
12995
  break;
12962
12996
  }
12963
12997
  curKey = new MediaSegmentKey();
12964
- curKey.method = _attr3.METHOD;
12965
- curKey.url = /^blob:/.test(_attr3.URI) ? _attr3.URI : getAbsoluteUrl(_attr3.URI, parentUrl);
12966
- curKey.keyFormat = _attr3.KEYFORMAT || "identity";
12967
- curKey.keyFormatVersions = _attr3.KEYFORMATVERSIONS;
12998
+ curKey.method = _attr4.METHOD;
12999
+ curKey.url = /^blob:/.test(_attr4.URI) ? _attr4.URI : getAbsoluteUrl(_attr4.URI, parentUrl);
13000
+ curKey.keyFormat = _attr4.KEYFORMAT || "identity";
13001
+ curKey.keyFormatVersions = _attr4.KEYFORMATVERSIONS;
12968
13002
  if (!curKey.isSupported()) {
12969
- throw new Error("encrypt ".concat(_attr3.METHOD, "/").concat(_attr3.KEYFORMAT, " is not supported"));
13003
+ throw new Error("encrypt ".concat(_attr4.METHOD, "/").concat(_attr4.KEYFORMAT, " is not supported"));
12970
13004
  }
12971
- if (_attr3.IV) {
12972
- var str = _attr3.IV.slice(2);
13005
+ if (_attr4.IV) {
13006
+ var str = _attr4.IV.slice(2);
12973
13007
  str = (str.length & 1 ? "0" : "") + str;
12974
13008
  curKey.iv = new Uint8Array(str.length / 2);
12975
13009
  for (var i = 0, l = str.length / 2; i < l; i++) {
@@ -12980,10 +13014,10 @@ function parseMediaPlaylist(lines, parentUrl, useLowLatency) {
12980
13014
  break;
12981
13015
  case "MAP":
12982
13016
  {
12983
- var _attr4 = parseAttr(data);
12984
- curSegment.url = getAbsoluteUrl(_attr4.URI, parentUrl);
12985
- if (_attr4.BYTERANGE)
12986
- curSegment.setByteRange(_attr4.BYTERANGE);
13017
+ var _attr5 = parseAttr(data);
13018
+ curSegment.url = getAbsoluteUrl(_attr5.URI, parentUrl);
13019
+ if (_attr5.BYTERANGE)
13020
+ curSegment.setByteRange(_attr5.BYTERANGE);
12987
13021
  curSegment.isInitSegment = true;
12988
13022
  curSegment.sn = 0;
12989
13023
  if (curKey) {
@@ -12995,24 +13029,25 @@ function parseMediaPlaylist(lines, parentUrl, useLowLatency) {
12995
13029
  break;
12996
13030
  case "SKIP":
12997
13031
  {
12998
- var _attr5 = parseAttr(data);
12999
- var skippedSegments = parseInt(_attr5["SKIPPED-SEGMENTS"], 10);
13032
+ var _attr6 = parseAttr(data);
13033
+ var skippedSegments = parseInt(_attr6["SKIPPED-SEGMENTS"], 10);
13000
13034
  if (skippedSegments <= Number.MAX_SAFE_INTEGER) {
13001
13035
  media.skippedSegments += skippedSegments;
13036
+ curSN += skippedSegments;
13002
13037
  }
13003
13038
  }
13004
13039
  break;
13005
13040
  case "DATERANGE":
13006
13041
  {
13007
- var _attr6 = parseAttr(data);
13008
- var dateRangeWithSameId = media.dateRanges[_attr6.ID];
13009
- _attr6._startDate = dateRangeWithSameId ? dateRangeWithSameId._startDate : new Date(_attr6["START-DATE"]);
13010
- var endDate = (dateRangeWithSameId === null || dateRangeWithSameId === void 0 ? void 0 : dateRangeWithSameId._endDate) || new Date(_attr6.END_DATE);
13042
+ var _attr7 = parseAttr(data);
13043
+ var dateRangeWithSameId = media.dateRanges[_attr7.ID];
13044
+ _attr7._startDate = dateRangeWithSameId ? dateRangeWithSameId._startDate : new Date(_attr7["START-DATE"]);
13045
+ var endDate = (dateRangeWithSameId === null || dateRangeWithSameId === void 0 ? void 0 : dateRangeWithSameId._endDate) || new Date(_attr7.END_DATE);
13011
13046
  if (Number.isFinite(endDate)) {
13012
- _attr6._endDate = endDate;
13047
+ _attr7._endDate = endDate;
13013
13048
  }
13014
- if (isValidDaterange(_attr6, dateRangeWithSameId) || media.skippedSegments) {
13015
- media.dateRanges[_attr6.ID] = _attr6;
13049
+ if (isValidDaterange(_attr7, dateRangeWithSameId) || media.skippedSegments) {
13050
+ media.dateRanges[_attr7.ID] = _attr7;
13016
13051
  }
13017
13052
  }
13018
13053
  break;
@@ -13209,6 +13244,13 @@ var ManifestLoader = /* @__PURE__ */ function() {
13209
13244
  playlist
13210
13245
  });
13211
13246
  } else {
13247
+ if (this._useLowLatency) {
13248
+ if (playlist.canBlockReload) {
13249
+ this.deliveryDirectives = new HlsUrlParameters(playlist.nextSN, playlist.nextIndex, "");
13250
+ } else {
13251
+ this.deliveryDirectives = null;
13252
+ }
13253
+ }
13212
13254
  this.hls.emit(Event$1.HLS_LEVEL_LOADED, {
13213
13255
  playlist
13214
13256
  });
@@ -13265,41 +13307,45 @@ var ManifestLoader = /* @__PURE__ */ function() {
13265
13307
  var retryCount = this.hls.config.pollRetryCount;
13266
13308
  var fn = /* @__PURE__ */ function() {
13267
13309
  var _ref2 = _asyncToGenerator$1(/* @__PURE__ */ _regeneratorRuntime$1().mark(function _callee2() {
13268
- var res;
13310
+ var reqUrl, res;
13269
13311
  return _regeneratorRuntime$1().wrap(function _callee2$(_context2) {
13270
13312
  while (1)
13271
13313
  switch (_context2.prev = _context2.next) {
13272
13314
  case 0:
13273
13315
  clearTimeout(_this2._timer);
13274
- _context2.prev = 1;
13275
- _context2.next = 4;
13276
- return _this2.load(url, audioUrl, subtitleUrl);
13277
- case 4:
13316
+ reqUrl = url;
13317
+ _context2.prev = 2;
13318
+ if (_this2.deliveryDirectives) {
13319
+ reqUrl = _this2.deliveryDirectives.addDirectives(url);
13320
+ }
13321
+ _context2.next = 6;
13322
+ return _this2.load(reqUrl, audioUrl, subtitleUrl);
13323
+ case 6:
13278
13324
  res = _context2.sent;
13279
13325
  if (res[0]) {
13280
- _context2.next = 7;
13326
+ _context2.next = 9;
13281
13327
  break;
13282
13328
  }
13283
13329
  return _context2.abrupt("return");
13284
- case 7:
13330
+ case 9:
13285
13331
  retryCount = _this2.hls.config.pollRetryCount;
13286
13332
  cb(res[0], res[1], res[2]);
13287
- _context2.next = 15;
13333
+ _context2.next = 17;
13288
13334
  break;
13289
- case 11:
13290
- _context2.prev = 11;
13291
- _context2.t0 = _context2["catch"](1);
13335
+ case 13:
13336
+ _context2.prev = 13;
13337
+ _context2.t0 = _context2["catch"](2);
13292
13338
  retryCount--;
13293
13339
  if (retryCount <= 0) {
13294
13340
  errorCb(_context2.t0);
13295
13341
  }
13296
- case 15:
13342
+ case 17:
13297
13343
  _this2._timer = setTimeout(fn, time);
13298
- case 16:
13344
+ case 18:
13299
13345
  case "end":
13300
13346
  return _context2.stop();
13301
13347
  }
13302
- }, _callee2, null, [[1, 11]]);
13348
+ }, _callee2, null, [[2, 13]]);
13303
13349
  }));
13304
13350
  return function fn2() {
13305
13351
  return _ref2.apply(this, arguments);
@@ -13829,7 +13875,7 @@ var Playlist = /* @__PURE__ */ function() {
13829
13875
  }, {
13830
13876
  key: "clearOldSegment",
13831
13877
  value: function clearOldSegment() {
13832
- var maxPlaylistSize = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 50;
13878
+ var maxPlaylistSize = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.hls.config.maxPlaylistSize || 50;
13833
13879
  var stream = this.currentStream;
13834
13880
  if (!this.dvrWindow || !stream)
13835
13881
  return;
@@ -14340,7 +14386,6 @@ var Hls = /* @__PURE__ */ function(_EventEmitter) {
14340
14386
  return;
14341
14387
  _this._startTick();
14342
14388
  var media = _this.media;
14343
- var buffered = Buffer$1.get(media);
14344
14389
  var segLoaderError = _this._segmentLoader.error;
14345
14390
  _this._onCheckQuotaExceeded();
14346
14391
  if (_this._isProcessQuotaExceeded) {
@@ -14357,7 +14402,7 @@ var Hls = /* @__PURE__ */ function(_EventEmitter) {
14357
14402
  }
14358
14403
  return;
14359
14404
  }
14360
- if (Buffer$1.end(buffered) >= 0.1 && media.readyState) {
14405
+ if (media.readyState) {
14361
14406
  if (isMediaPlaying(media)) {
14362
14407
  _this._loadSegment();
14363
14408
  if (_this._gapService) {
@@ -15510,7 +15555,7 @@ var Hls = /* @__PURE__ */ function(_EventEmitter) {
15510
15555
  }]);
15511
15556
  return Hls2;
15512
15557
  }(EventEmitter);
15513
- _defineProperty$3(Hls, "version", "3.0.20-rc.6");
15558
+ _defineProperty$3(Hls, "version", "3.0.20-alpha.3");
15514
15559
  try {
15515
15560
  if (localStorage.getItem("xgd")) {
15516
15561
  Hls.enableLogger();