@byteplus/veplayer-plugin 2.6.0-rc.2 → 2.6.0-rc.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@byteplus/veplayer-plugin",
3
- "version": "2.6.0-rc.2",
3
+ "version": "2.6.0-rc.4",
4
4
  "main": "./umd/index.production.js",
5
5
  "module": "./esm/index.production.js",
6
6
  "browser": "./umd/index.production.js",
@@ -10251,29 +10251,6 @@
10251
10251
  var map$1 = map$2;
10252
10252
  var map = map$1;
10253
10253
  var _Map = /* @__PURE__ */ getDefaultExportFromCjs(map);
10254
- var $$5 = _export;
10255
- var toObject$2 = toObject$a;
10256
- var nativeKeys = objectKeys$2;
10257
- var fails$3 = fails$q;
10258
- var FAILS_ON_PRIMITIVES = fails$3(function() {
10259
- nativeKeys(1);
10260
- });
10261
- $$5({ target: "Object", stat: true, forced: FAILS_ON_PRIMITIVES }, {
10262
- keys: function keys2(it) {
10263
- return nativeKeys(toObject$2(it));
10264
- }
10265
- });
10266
- var path$1 = path$h;
10267
- var keys$5 = path$1.Object.keys;
10268
- var parent$h = keys$5;
10269
- var keys$4 = parent$h;
10270
- var parent$g = keys$4;
10271
- var keys$3 = parent$g;
10272
- var parent$f = keys$3;
10273
- var keys$2 = parent$f;
10274
- var keys$1 = keys$2;
10275
- var keys = keys$1;
10276
- var _Object$keys = /* @__PURE__ */ getDefaultExportFromCjs(keys);
10277
10254
  var tryToString = tryToString$7;
10278
10255
  var $TypeError$1 = TypeError;
10279
10256
  var deletePropertyOrThrow$1 = function(O, P) {
@@ -10318,10 +10295,10 @@
10318
10295
  return array;
10319
10296
  };
10320
10297
  var arraySort = mergeSort;
10321
- var fails$2 = fails$q;
10298
+ var fails$3 = fails$q;
10322
10299
  var arrayMethodIsStrict$3 = function(METHOD_NAME, argument) {
10323
10300
  var method2 = [][METHOD_NAME];
10324
- return !!method2 && fails$2(function() {
10301
+ return !!method2 && fails$3(function() {
10325
10302
  method2.call(null, argument || function() {
10326
10303
  return 1;
10327
10304
  }, 1);
@@ -10335,14 +10312,14 @@
10335
10312
  var userAgent = engineUserAgent;
10336
10313
  var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
10337
10314
  var engineWebkitVersion = !!webkit && +webkit[1];
10338
- var $$4 = _export;
10315
+ var $$5 = _export;
10339
10316
  var uncurryThis$2 = functionUncurryThis;
10340
10317
  var aCallable$1 = aCallable$d;
10341
- var toObject$1 = toObject$a;
10318
+ var toObject$2 = toObject$a;
10342
10319
  var lengthOfArrayLike$1 = lengthOfArrayLike$9;
10343
10320
  var deletePropertyOrThrow = deletePropertyOrThrow$1;
10344
10321
  var toString$2 = toString$8;
10345
- var fails$1 = fails$q;
10322
+ var fails$2 = fails$q;
10346
10323
  var internalSort = arraySort;
10347
10324
  var arrayMethodIsStrict$2 = arrayMethodIsStrict$3;
10348
10325
  var FF = engineFfVersion;
@@ -10352,14 +10329,14 @@
10352
10329
  var test = [];
10353
10330
  var nativeSort = uncurryThis$2(test.sort);
10354
10331
  var push = uncurryThis$2(test.push);
10355
- var FAILS_ON_UNDEFINED = fails$1(function() {
10332
+ var FAILS_ON_UNDEFINED = fails$2(function() {
10356
10333
  test.sort(void 0);
10357
10334
  });
10358
- var FAILS_ON_NULL = fails$1(function() {
10335
+ var FAILS_ON_NULL = fails$2(function() {
10359
10336
  test.sort(null);
10360
10337
  });
10361
10338
  var STRICT_METHOD$1 = arrayMethodIsStrict$2("sort");
10362
- var STABLE_SORT = !fails$1(function() {
10339
+ var STABLE_SORT = !fails$2(function() {
10363
10340
  if (V8)
10364
10341
  return V8 < 70;
10365
10342
  if (FF && FF > 3)
@@ -10412,11 +10389,11 @@
10412
10389
  return toString$2(x) > toString$2(y) ? 1 : -1;
10413
10390
  };
10414
10391
  };
10415
- $$4({ target: "Array", proto: true, forced: FORCED$2 }, {
10392
+ $$5({ target: "Array", proto: true, forced: FORCED$2 }, {
10416
10393
  sort: function sort2(comparefn) {
10417
10394
  if (comparefn !== void 0)
10418
10395
  aCallable$1(comparefn);
10419
- var array = toObject$1(this);
10396
+ var array = toObject$2(this);
10420
10397
  if (STABLE_SORT)
10421
10398
  return comparefn === void 0 ? nativeSort(array) : nativeSort(array, comparefn);
10422
10399
  var items = [];
@@ -10445,24 +10422,24 @@
10445
10422
  var own = it.sort;
10446
10423
  return it === ArrayPrototype$3 || isPrototypeOf$3(ArrayPrototype$3, it) && own === ArrayPrototype$3.sort ? method$3 : own;
10447
10424
  };
10448
- var parent$e = sort$5;
10449
- var sort$4 = parent$e;
10450
- var parent$d = sort$4;
10451
- var sort$3 = parent$d;
10452
- var parent$c = sort$3;
10453
- var sort$2 = parent$c;
10425
+ var parent$h = sort$5;
10426
+ var sort$4 = parent$h;
10427
+ var parent$g = sort$4;
10428
+ var sort$3 = parent$g;
10429
+ var parent$f = sort$3;
10430
+ var sort$2 = parent$f;
10454
10431
  var sort$1 = sort$2;
10455
10432
  var sort = sort$1;
10456
10433
  var _sortInstanceProperty = /* @__PURE__ */ getDefaultExportFromCjs(sort);
10457
10434
  var aCallable = aCallable$d;
10458
- var toObject = toObject$a;
10435
+ var toObject$1 = toObject$a;
10459
10436
  var IndexedObject = indexedObject;
10460
10437
  var lengthOfArrayLike = lengthOfArrayLike$9;
10461
10438
  var $TypeError = TypeError;
10462
10439
  var createMethod$1 = function(IS_RIGHT) {
10463
10440
  return function(that, callbackfn, argumentsLength, memo) {
10464
10441
  aCallable(callbackfn);
10465
- var O = toObject(that);
10442
+ var O = toObject$1(that);
10466
10443
  var self2 = IndexedObject(O);
10467
10444
  var length = lengthOfArrayLike(O);
10468
10445
  var index2 = IS_RIGHT ? length - 1 : 0;
@@ -10496,14 +10473,14 @@
10496
10473
  };
10497
10474
  var classof$1 = classofRaw$2;
10498
10475
  var engineIsNode = typeof process != "undefined" && classof$1(process) == "process";
10499
- var $$3 = _export;
10476
+ var $$4 = _export;
10500
10477
  var $reduce = arrayReduce.left;
10501
10478
  var arrayMethodIsStrict$1 = arrayMethodIsStrict$3;
10502
10479
  var CHROME_VERSION = engineV8Version;
10503
10480
  var IS_NODE = engineIsNode;
10504
10481
  var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
10505
10482
  var FORCED$1 = CHROME_BUG || !arrayMethodIsStrict$1("reduce");
10506
- $$3({ target: "Array", proto: true, forced: FORCED$1 }, {
10483
+ $$4({ target: "Array", proto: true, forced: FORCED$1 }, {
10507
10484
  reduce: function reduce2(callbackfn) {
10508
10485
  var length = arguments.length;
10509
10486
  return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : void 0);
@@ -10518,15 +10495,38 @@
10518
10495
  var own = it.reduce;
10519
10496
  return it === ArrayPrototype$2 || isPrototypeOf$2(ArrayPrototype$2, it) && own === ArrayPrototype$2.reduce ? method$2 : own;
10520
10497
  };
10521
- var parent$b = reduce$5;
10522
- var reduce$4 = parent$b;
10523
- var parent$a = reduce$4;
10524
- var reduce$3 = parent$a;
10525
- var parent$9 = reduce$3;
10526
- var reduce$2 = parent$9;
10498
+ var parent$e = reduce$5;
10499
+ var reduce$4 = parent$e;
10500
+ var parent$d = reduce$4;
10501
+ var reduce$3 = parent$d;
10502
+ var parent$c = reduce$3;
10503
+ var reduce$2 = parent$c;
10527
10504
  var reduce$1 = reduce$2;
10528
10505
  var reduce = reduce$1;
10529
10506
  var _reduceInstanceProperty = /* @__PURE__ */ getDefaultExportFromCjs(reduce);
10507
+ var $$3 = _export;
10508
+ var toObject = toObject$a;
10509
+ var nativeKeys = objectKeys$2;
10510
+ var fails$1 = fails$q;
10511
+ var FAILS_ON_PRIMITIVES = fails$1(function() {
10512
+ nativeKeys(1);
10513
+ });
10514
+ $$3({ target: "Object", stat: true, forced: FAILS_ON_PRIMITIVES }, {
10515
+ keys: function keys2(it) {
10516
+ return nativeKeys(toObject(it));
10517
+ }
10518
+ });
10519
+ var path$1 = path$h;
10520
+ var keys$5 = path$1.Object.keys;
10521
+ var parent$b = keys$5;
10522
+ var keys$4 = parent$b;
10523
+ var parent$a = keys$4;
10524
+ var keys$3 = parent$a;
10525
+ var parent$9 = keys$3;
10526
+ var keys$2 = parent$9;
10527
+ var keys$1 = keys$2;
10528
+ var keys = keys$1;
10529
+ var _Object$keys = /* @__PURE__ */ getDefaultExportFromCjs(keys);
10530
10530
  var whitespaces$2 = " \n\v\f\r                 \u2028\u2029\uFEFF";
10531
10531
  var uncurryThis$1 = functionUncurryThis;
10532
10532
  var requireObjectCoercible = requireObjectCoercible$4;
@@ -12843,7 +12843,7 @@
12843
12843
  var PLANNED_DURATION_TAG = "PLANNED-DURATION";
12844
12844
  var SPLICE_INSERT = 5;
12845
12845
  function isValidScte35DateRange(dateRange) {
12846
- if (dateRange[SCTE35_OUT_TAG] && dateRange[START_DATE_TAG] && dateRange[PLANNED_DURATION_TAG]) {
12846
+ if (dateRange[PLANNED_DURATION_TAG] && (dateRange.message || dateRange[SCTE35_OUT_TAG]) && (dateRange.startTime !== void 0 || dateRange[START_DATE_TAG])) {
12847
12847
  return true;
12848
12848
  }
12849
12849
  return false;
@@ -12856,7 +12856,7 @@
12856
12856
  _defineProperty$3(this, "_track", void 0);
12857
12857
  _defineProperty$3(this, "_startTime", void 0);
12858
12858
  _defineProperty$3(this, "_adBreakCues", void 0);
12859
- _defineProperty$3(this, "_activeAdBreak", void 0);
12859
+ _defineProperty$3(this, "_activeAdBreak", null);
12860
12860
  _defineProperty$3(
12861
12861
  this,
12862
12862
  "_activeAdBreakStatus",
@@ -12866,8 +12866,7 @@
12866
12866
  _defineProperty$3(this, "_scte35", new SCTE35_1());
12867
12867
  _defineProperty$3(this, "_scte35ResultMap", /* @__PURE__ */ new _Map());
12868
12868
  _defineProperty$3(this, "_handleTimeUpdate", function() {
12869
- var _this$_adBreakCues;
12870
- _this._tryToPlayAd();
12869
+ var _this$_adBreakCues, _this$_activeAdBreak;
12871
12870
  var nextAdBreak;
12872
12871
  if ((_this$_adBreakCues = _this._adBreakCues) !== null && _this$_adBreakCues !== void 0 && _this$_adBreakCues.length) {
12873
12872
  for (var index2 = 0; index2 < _this._adBreakCues.length; index2++) {
@@ -12878,37 +12877,39 @@
12878
12877
  }
12879
12878
  }
12880
12879
  }
12881
- if (nextAdBreak) {
12882
- var _this$_activeAdBreak, _this$_activeAdBreak2;
12883
- if (((_this$_activeAdBreak = _this._activeAdBreak) === null || _this$_activeAdBreak === void 0 ? void 0 : _this$_activeAdBreak.id) === nextAdBreak.id && ((_this$_activeAdBreak2 = _this._activeAdBreak) === null || _this$_activeAdBreak2 === void 0 ? void 0 : _this$_activeAdBreak2.startTime) !== nextAdBreak.startTime) {
12884
- _this._changeActiveAdBreakStatus(void 0, nextAdBreak);
12880
+ if (nextAdBreak && ((_this$_activeAdBreak = _this._activeAdBreak) === null || _this$_activeAdBreak === void 0 ? void 0 : _this$_activeAdBreak.id) === nextAdBreak.id) {
12881
+ var _this$_activeAdBreak2, _this$_activeAdBreak3;
12882
+ if (((_this$_activeAdBreak2 = _this._activeAdBreak) === null || _this$_activeAdBreak2 === void 0 ? void 0 : _this$_activeAdBreak2.startDate) !== nextAdBreak.startDate) {
12883
+ switch (_this._activeAdBreakStatus) {
12884
+ case "REQUESTED":
12885
+ _this._changeActiveAdBreakStatus("REQUESTED", nextAdBreak);
12886
+ break;
12887
+ case "ERROR":
12888
+ case "COMPLETE":
12889
+ _this._changeActiveAdBreakStatus("READY", null);
12890
+ break;
12891
+ }
12892
+ } else if (((_this$_activeAdBreak3 = _this._activeAdBreak) === null || _this$_activeAdBreak3 === void 0 ? void 0 : _this$_activeAdBreak3.startTime) !== nextAdBreak.startTime) {
12893
+ _this._changeActiveAdBreakStatus(_this._activeAdBreakStatus, nextAdBreak);
12885
12894
  }
12886
- _this._tryToRequestAd(nextAdBreak);
12887
12895
  }
12896
+ _this._tryToPlayAd();
12897
+ _this._tryToRequestAd(nextAdBreak);
12888
12898
  });
12889
12899
  _defineProperty$3(this, "_onReady", function() {
12890
- _this._changeActiveAdBreakStatus(
12891
- "READY"
12892
- /* READY */
12893
- );
12894
- _this._player.off(IMA_AD_ERROR, _this._onReady);
12895
- _this._adManager.off(AD_ALL_COMPLETED, _this._onReady);
12900
+ _this._changeActiveAdBreakStatus("READY", null);
12901
+ _this._player.off(AD_ERROR, _this._onReady);
12902
+ _this._player.off(AD_ALL_COMPLETED, _this._onReady);
12896
12903
  _this._player.on(TIME_UPDATE, _this._handleTimeUpdate);
12897
- _this._player.on(IMA_AD_COMPLETE, _this._onAdComplete);
12898
- _this._player.on(IMA_AD_ERROR, _this._onAdError);
12904
+ _this._player.on(AD_ALL_COMPLETED, _this._onAdComplete);
12905
+ _this._player.on(AD_ERROR, _this._onAdError);
12899
12906
  _this._handleTimeUpdate();
12900
12907
  });
12901
12908
  _defineProperty$3(this, "_onAdComplete", function() {
12902
- _this._changeActiveAdBreakStatus(
12903
- "COMPLETE"
12904
- /* COMPLETE */
12905
- );
12909
+ _this._changeActiveAdBreakStatus("COMPLETE", _this._activeAdBreak);
12906
12910
  });
12907
12911
  _defineProperty$3(this, "_onAdError", function() {
12908
- _this._changeActiveAdBreakStatus(
12909
- "ERROR"
12910
- /* ERROR */
12911
- );
12912
+ _this._changeActiveAdBreakStatus("ERROR", _this._activeAdBreak);
12912
12913
  });
12913
12914
  _defineProperty$3(this, "_handleHlsCoreEvent", function(_ref) {
12914
12915
  var eventName = _ref.eventName, playlist = _ref.playlist;
@@ -12931,29 +12932,47 @@
12931
12932
  }
12932
12933
  }
12933
12934
  if (playlist !== null && playlist !== void 0 && playlist.dateRanges && _this._startTime) {
12934
- var _context;
12935
- var keys2 = _Object$keys(playlist.dateRanges);
12936
- _this._adBreakCues = _sortInstanceProperty(_context = _reduceInstanceProperty(keys2).call(keys2, function(pre, key) {
12937
- var dateRange = playlist.dateRanges[key];
12938
- if (isValidScte35DateRange(dateRange)) {
12939
- var data2 = _this._getScte35Result(dateRange[SCTE35_OUT_TAG]);
12940
- if ((data2 === null || data2 === void 0 ? void 0 : data2.spliceCommandType) === SPLICE_INSERT) {
12941
- pre.push({
12942
- data: data2,
12943
- id: dateRange.ID,
12944
- startTime: (new Date(dateRange[START_DATE_TAG]).getTime() - _this._startTime) / 1e3,
12945
- duration: _parseFloat$1(dateRange[PLANNED_DURATION_TAG] || "0"),
12946
- startDate: dateRange[START_DATE_TAG]
12947
- });
12948
- }
12949
- }
12950
- return pre;
12951
- }, [])).call(_context, function(a, b) {
12952
- return a.startTime - b.startTime;
12953
- });
12935
+ _this._updateAdBreakCues(playlist.dateRanges);
12954
12936
  }
12955
12937
  }
12956
12938
  });
12939
+ _defineProperty$3(this, "_onAddTrack", function(_ref2) {
12940
+ var track = _ref2.track;
12941
+ if ((track === null || track === void 0 ? void 0 : track.kind) === "metadata") {
12942
+ track.mode = "hidden";
12943
+ _this._track = track;
12944
+ _this._track.addEventListener("cuechange", _this._onCuechange);
12945
+ }
12946
+ });
12947
+ _defineProperty$3(this, "_onCuechange", function() {
12948
+ var _this$_track;
12949
+ var dateRanges = {};
12950
+ var array = ((_this$_track = _this._track) === null || _this$_track === void 0 ? void 0 : _this$_track.cues) || [];
12951
+ for (var index2 = 0; index2 < array.length; ) {
12952
+ var _cue$value;
12953
+ var cue = array[index2];
12954
+ if (((_cue$value = cue.value) === null || _cue$value === void 0 ? void 0 : _cue$value.key) === PLANNED_DURATION_TAG) {
12955
+ var _nextCue$value;
12956
+ var nextCue = index2 + 1 < array.length ? array[index2 + 1] : null;
12957
+ if ((nextCue === null || nextCue === void 0 || (_nextCue$value = nextCue.value) === null || _nextCue$value === void 0 ? void 0 : _nextCue$value.key) === SCTE35_OUT_TAG && (nextCue === null || nextCue === void 0 ? void 0 : nextCue.startTime) === cue.startTime) {
12958
+ var _nextCue$value2, _cue$value2;
12959
+ var data2 = _this._getScte35Result((_nextCue$value2 = nextCue.value) === null || _nextCue$value2 === void 0 ? void 0 : _nextCue$value2.data);
12960
+ var ID = String((data2 === null || data2 === void 0 ? void 0 : data2.spliceCommand).spliceEventId);
12961
+ dateRanges[ID] = _defineProperty$3({
12962
+ ID,
12963
+ startTime: nextCue.startTime,
12964
+ message: data2
12965
+ }, PLANNED_DURATION_TAG, (_cue$value2 = cue.value) === null || _cue$value2 === void 0 ? void 0 : _cue$value2.data);
12966
+ index2 += 2;
12967
+ } else {
12968
+ index2++;
12969
+ }
12970
+ } else {
12971
+ index2++;
12972
+ }
12973
+ }
12974
+ _this._updateAdBreakCues(dateRanges);
12975
+ });
12957
12976
  this._options = options;
12958
12977
  this._init();
12959
12978
  }
@@ -12980,6 +12999,10 @@
12980
12999
  }, {
12981
13000
  key: "destroy",
12982
13001
  value: function destroy() {
13002
+ var _this$_track2, _this$_mediaElement;
13003
+ (_this$_track2 = this._track) === null || _this$_track2 === void 0 ? void 0 : _this$_track2.removeEventListener("cuechange", this._onCuechange);
13004
+ this._track = void 0;
13005
+ (_this$_mediaElement = this._mediaElement) === null || _this$_mediaElement === void 0 || (_this$_mediaElement = _this$_mediaElement.textTracks) === null || _this$_mediaElement === void 0 ? void 0 : _this$_mediaElement.removeEventListener("addtrack", this._onAddTrack);
12983
13006
  this._player.off("core_event", this._handleHlsCoreEvent);
12984
13007
  this._player.off(TIME_UPDATE, this._handleTimeUpdate);
12985
13008
  this._player.off(IMA_AD_COMPLETE, this._onAdComplete);
@@ -12988,10 +13011,12 @@
12988
13011
  }, {
12989
13012
  key: "_init",
12990
13013
  value: function _init() {
13014
+ var _this$_mediaElement2;
13015
+ (_this$_mediaElement2 = this._mediaElement) === null || _this$_mediaElement2 === void 0 || (_this$_mediaElement2 = _this$_mediaElement2.textTracks) === null || _this$_mediaElement2 === void 0 ? void 0 : _this$_mediaElement2.addEventListener("addtrack", this._onAddTrack);
12991
13016
  this._player.on("core_event", this._handleHlsCoreEvent);
12992
13017
  var _this$_adManager$conf = this._adManager.config, adsRequest = _this$_adManager$conf.adsRequest, adsResponse = _this$_adManager$conf.adsResponse, adTagUrl = _this$_adManager$conf.adTagUrl;
12993
13018
  if (adsRequest || adsResponse || adTagUrl) {
12994
- this._player.once(IMA_AD_ERROR, this._onReady);
13019
+ this._player.once(AD_ERROR, this._onReady);
12995
13020
  this._player.once(AD_ALL_COMPLETED, this._onReady);
12996
13021
  } else {
12997
13022
  this._onReady();
@@ -13000,63 +13025,46 @@
13000
13025
  }, {
13001
13026
  key: "_changeActiveAdBreakStatus",
13002
13027
  value: function _changeActiveAdBreakStatus(status, adBreak) {
13003
- var _context2, _context3;
13004
- if (status) {
13005
- this._activeAdBreakStatus = status;
13006
- }
13007
- if (adBreak) {
13008
- this._activeAdBreak = adBreak;
13009
- }
13010
- console.log(_concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = "Update adbreak status, status: ".concat(this._activeAdBreakStatus, ", player start time: ")).call(_context3, this._startTime, ", player current time: ")).call(_context2, this._player.currentTime), this._activeAdBreak);
13028
+ var _context, _context2;
13029
+ this._activeAdBreakStatus = status;
13030
+ this._activeAdBreak = adBreak;
13031
+ console.log(_concatInstanceProperty(_context = _concatInstanceProperty(_context2 = "Update adbreak status, status: ".concat(this._activeAdBreakStatus, ", player start time: ")).call(_context2, this._startTime, ", player current time: ")).call(_context, this._player.currentTime), this._activeAdBreak);
13011
13032
  }
13012
13033
  }, {
13013
- key: "_canRequestAd",
13014
- value: function _canRequestAd(nextAdBreak) {
13015
- if (this._activeAdBreakStatus === "WAITING_PREROLL") {
13016
- return false;
13017
- }
13034
+ key: "_tryToRequestAd",
13035
+ value: function _tryToRequestAd(nextAdBreak) {
13036
+ var _this$_activeAdBreak4;
13018
13037
  if (!nextAdBreak) {
13019
- return false;
13020
- }
13021
- if (!this._activeAdBreak) {
13022
- return true;
13023
- }
13024
- if (nextAdBreak.id === this._activeAdBreak.id) {
13025
- return false;
13038
+ return;
13026
13039
  }
13027
- if (this._activeAdBreakStatus === "COMPLETE" || this._activeAdBreakStatus === "ERROR" || this._activeAdBreakStatus === "REQUESTED") {
13028
- return true;
13040
+ if (this._activeAdBreakStatus === "WAITING_PREROLL") {
13041
+ return;
13029
13042
  }
13030
- return false;
13031
- }
13032
- }, {
13033
- key: "_canPlayAd",
13034
- value: function _canPlayAd() {
13035
- if (!this._activeAdBreak || this._activeAdBreakStatus !== "REQUESTED" || this._activeAdBreak.startTime > this._player.currentTime) {
13036
- return false;
13043
+ if (this._activeAdBreakStatus === "STARTED") {
13044
+ return;
13037
13045
  }
13038
- return true;
13039
- }
13040
- }, {
13041
- key: "_tryToRequestAd",
13042
- value: function _tryToRequestAd(nextAdBreak) {
13043
- if (this._canRequestAd(nextAdBreak)) {
13044
- this._changeActiveAdBreakStatus("REQUESTED", nextAdBreak);
13045
- this._adManager.reset();
13046
- this._adManager.updateConfig({
13047
- adTagUrl: this._adTagUrl
13048
- });
13049
- this._adManager.requestAds();
13046
+ if (nextAdBreak.id === ((_this$_activeAdBreak4 = this._activeAdBreak) === null || _this$_activeAdBreak4 === void 0 ? void 0 : _this$_activeAdBreak4.id)) {
13047
+ return;
13050
13048
  }
13049
+ this._changeActiveAdBreakStatus("REQUESTED", nextAdBreak);
13050
+ this._adManager.reset();
13051
+ this._adManager.updateConfig({
13052
+ adTagUrl: this._adTagUrl
13053
+ });
13054
+ this._adManager.requestAds();
13051
13055
  }
13052
13056
  }, {
13053
13057
  key: "_tryToPlayAd",
13054
13058
  value: function _tryToPlayAd() {
13055
- if (this._canPlayAd()) {
13056
- this._changeActiveAdBreakStatus(
13057
- "STARTED"
13058
- /* STARTED */
13059
- );
13059
+ if (!this._activeAdBreak || this._activeAdBreak.startTime > this._player.currentTime) {
13060
+ return;
13061
+ }
13062
+ if (this._activeAdBreakStatus === "ERROR") {
13063
+ this._changeActiveAdBreakStatus("READY", null);
13064
+ return;
13065
+ }
13066
+ if (this._activeAdBreakStatus === "REQUESTED") {
13067
+ this._changeActiveAdBreakStatus("STARTED", this._activeAdBreak);
13060
13068
  this._adManager.playAds();
13061
13069
  }
13062
13070
  }
@@ -13077,38 +13085,29 @@
13077
13085
  }
13078
13086
  return this._scte35ResultMap.get(data2);
13079
13087
  }
13080
- // private _onAddTrack = ({ track }: TrackEvent) => {
13081
- // if (track?.kind === 'metadata') {
13082
- // track.mode = 'hidden';
13083
- // this._track = track;
13084
- // this._track.addEventListener('cuechange', this._onCuechange);
13085
- // }
13086
- // };
13087
- // private _onCuechange = () => {
13088
- // this._adBreakCues = ((this._track?.cues || []) as Scte35Cue[])
13089
- // .reduce((pre, cue, currentIndex, array) => {
13090
- // if (
13091
- // isValidScte35Cue(
13092
- // cue,
13093
- // currentIndex > 0 ? array[currentIndex - 1] : undefined,
13094
- // )
13095
- // ) {
13096
- // const data = this._getScte35Result(cue.value?.data as string);
13097
- // if (data?.spliceCommandType === SPLICE_INSERT) {
13098
- // pre.push({
13099
- // data,
13100
- // id: String(
13101
- // (data.spliceCommand as ISpliceInsertEvent).spliceEventId,
13102
- // ),
13103
- // startTime: cue.startTime,
13104
- // duration: parseFloat(array[currentIndex - 1].value?.data || '0'),
13105
- // });
13106
- // }
13107
- // }
13108
- // return pre;
13109
- // }, [] as Scte35AdBreak[])
13110
- // .sort((a, b) => a.startTime - b.startTime);
13111
- // };
13088
+ }, {
13089
+ key: "_updateAdBreakCues",
13090
+ value: function _updateAdBreakCues(dateRanges) {
13091
+ var _context3, _context4, _this2 = this;
13092
+ this._adBreakCues = _sortInstanceProperty(_context3 = _reduceInstanceProperty(_context4 = _Object$keys(dateRanges)).call(_context4, function(pre, key) {
13093
+ var dateRange = dateRanges[key];
13094
+ if (isValidScte35DateRange(dateRange)) {
13095
+ var data2 = dateRange.message || _this2._getScte35Result(dateRange[SCTE35_OUT_TAG]);
13096
+ if ((data2 === null || data2 === void 0 ? void 0 : data2.spliceCommandType) === SPLICE_INSERT) {
13097
+ pre.push({
13098
+ data: data2,
13099
+ id: dateRange.ID,
13100
+ startTime: dateRange.startTime || (new Date(dateRange[START_DATE_TAG]).getTime() - _this2._startTime) / 1e3,
13101
+ duration: _parseFloat$1(dateRange[PLANNED_DURATION_TAG] || "0"),
13102
+ startDate: dateRange[START_DATE_TAG]
13103
+ });
13104
+ }
13105
+ }
13106
+ return pre;
13107
+ }, [])).call(_context3, function(a, b) {
13108
+ return a.startTime - b.startTime;
13109
+ });
13110
+ }
13112
13111
  }]);
13113
13112
  return Scte35Manager2;
13114
13113
  }();
@@ -13280,8 +13279,11 @@
13280
13279
  }, {
13281
13280
  key: "beforePlayerInit",
13282
13281
  value: function beforePlayerInit() {
13283
- var _this$config$ima;
13282
+ var _this$csManager, _this$config$ima;
13284
13283
  var promise = _get$2(_getPrototypeOf$2(AdsPlugin2.prototype), "beforePlayerInit", this).call(this);
13284
+ (_this$csManager = this.csManager) === null || _this$csManager === void 0 ? void 0 : _this$csManager.once(IMA_SDK_LOAD_SUCCESS, function() {
13285
+ google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true);
13286
+ });
13285
13287
  if (this.config.enableSCTE35 && (_this$config$ima = this.config.ima) !== null && _this$config$ima !== void 0 && _this$config$ima.adTagUrlForSCTE35) {
13286
13288
  this._scte35Manager = new Scte35Manager({
13287
13289
  player: this.player,