rx-player 4.5.0-dev.2026060401 → 4.5.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 (35) hide show
  1. package/CHANGELOG.md +15 -14
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  5. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  6. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  7. package/dist/commonjs/core/fetchers/utils/schedule_request.d.ts.map +1 -1
  8. package/dist/commonjs/core/fetchers/utils/schedule_request.js +5 -2
  9. package/dist/commonjs/main_thread/api/public_api.js +2 -2
  10. package/dist/commonjs/main_thread/core_interface/monothread.d.ts.map +1 -1
  11. package/dist/commonjs/main_thread/core_interface/monothread.js +3 -2
  12. package/dist/commonjs/main_thread/render_thumbnail.d.ts.map +1 -1
  13. package/dist/commonjs/main_thread/render_thumbnail.js +7 -4
  14. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  15. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  16. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  17. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  18. package/dist/es2017/core/fetchers/utils/schedule_request.d.ts.map +1 -1
  19. package/dist/es2017/core/fetchers/utils/schedule_request.js +5 -2
  20. package/dist/es2017/main_thread/api/public_api.js +2 -2
  21. package/dist/es2017/main_thread/core_interface/monothread.d.ts.map +1 -1
  22. package/dist/es2017/main_thread/core_interface/monothread.js +3 -2
  23. package/dist/es2017/main_thread/render_thumbnail.d.ts.map +1 -1
  24. package/dist/es2017/main_thread/render_thumbnail.js +7 -4
  25. package/dist/mpd-parser.wasm +0 -0
  26. package/dist/worker.js +1 -1
  27. package/package.json +2 -2
  28. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
  29. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  30. package/src/core/fetchers/utils/schedule_request.ts +4 -2
  31. package/src/main_thread/__tests__/render_thumbnail.test.ts +193 -0
  32. package/src/main_thread/api/public_api.ts +2 -2
  33. package/src/main_thread/core_interface/monothread.ts +3 -2
  34. package/src/main_thread/render_thumbnail.ts +7 -4
  35. package/src/parsers/manifest/dash/wasm-parser/rs/lib.rs +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"schedule_request.d.ts","sourceRoot":"","sources":["../../../../../src/core/fetchers/utils/schedule_request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAC;AAiDrD,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,EAC3B,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,cAAc,EAAE,CACd,GAAG,EAAE,YAAY,GAAG,IAAI,EACxB,kBAAkB,EAAE,kBAAkB,KACnC,OAAO,CAAC,CAAC,CAAC,EACf,OAAO,EAAE,gBAAgB,EACzB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,CAAC,CAAC,CAkPZ;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,cAAc,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAChC,OAAO,EAAE,gBAAgB,EACzB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,CAAC,CAAC,CAGZ"}
1
+ {"version":3,"file":"schedule_request.d.ts","sourceRoot":"","sources":["../../../../../src/core/fetchers/utils/schedule_request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAC;AAmDrD,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,EAC3B,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,cAAc,EAAE,CACd,GAAG,EAAE,YAAY,GAAG,IAAI,EACxB,kBAAkB,EAAE,kBAAkB,KACnC,OAAO,CAAC,CAAC,CAAC,EACf,OAAO,EAAE,gBAAgB,EACzB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,CAAC,CAAC,CAkPZ;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,cAAc,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAChC,OAAO,EAAE,gBAAgB,EACzB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,CAAC,CAAC,CAGZ"}
@@ -80,7 +80,9 @@ function shouldRetry(error) {
80
80
  error.status === 415 || // some CDN seems to use that code when
81
81
  // requesting low-latency segments too much
82
82
  // in advance
83
- error.status === 412);
83
+ error.status === 412 ||
84
+ error.status === 429 // TODO: Handle optional Retry-After header
85
+ );
84
86
  }
85
87
  return (error.type === errors_1.NetworkErrorTypes.TIMEOUT ||
86
88
  error.type === errors_1.NetworkErrorTypes.ERROR_EVENT);
@@ -95,7 +97,8 @@ function shouldRetry(error) {
95
97
  error.xhr.status === 415 || // some CDN seems to use that code when
96
98
  // requesting low-latency segments too much
97
99
  // in advance
98
- error.xhr.status === 412);
100
+ error.xhr.status === 412 ||
101
+ error.xhr.status === 429);
99
102
  }
100
103
  return false;
101
104
  }
@@ -191,7 +191,7 @@ var Player = /** @class */ (function (_super) {
191
191
  // Workaround to support Firefox autoplay on FF 42.
192
192
  // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
193
193
  videoElement.preload = "auto";
194
- _this.version = /* PLAYER_VERSION */ "4.5.0-dev.2026060401";
194
+ _this.version = /* PLAYER_VERSION */ "4.5.0";
195
195
  _this.log = log_1.default;
196
196
  _this.state = "STOPPED";
197
197
  _this.videoElement = videoElement;
@@ -3128,5 +3128,5 @@ var Player = /** @class */ (function (_super) {
3128
3128
  Player._priv_currentlyUsedVideoElements = new WeakSet();
3129
3129
  return Player;
3130
3130
  }(event_emitter_1.default));
3131
- Player.version = /* PLAYER_VERSION */ "4.5.0-dev.2026060401";
3131
+ Player.version = /* PLAYER_VERSION */ "4.5.0";
3132
3132
  exports.default = Player;
@@ -1 +1 @@
1
- {"version":3,"file":"monothread.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/core_interface/monothread.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC9B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,aAAa,MAAM,QAAQ,CAAC;AAEnC,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,OAAO,CAAC,oBAAoB,CAA2B;;IAOhD,WAAW,CAAC,GAAG,EAAE,kBAAkB;IAQnC,YAAY,IAAI;QACrB,sBAAsB,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;QACpE,eAAe,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;KAC9E;CAgBF"}
1
+ {"version":3,"file":"monothread.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/core_interface/monothread.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC9B,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,aAAa,MAAM,QAAQ,CAAC;AAEnC,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,OAAO,CAAC,oBAAoB,CAA2B;;IAOhD,WAAW,CAAC,GAAG,EAAE,kBAAkB;IAQnC,YAAY,IAAI;QACrB,sBAAsB,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;QACpE,eAAe,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;KAC9E;CAgBF"}
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.MonoThreadCoreInterface = void 0;
19
19
  var log_1 = require("../../log");
20
20
  var noop_1 = require("../../utils/noop");
21
+ var queue_microtask_1 = require("../../utils/queue_microtask");
21
22
  var base_1 = require("./base");
22
23
  var MonoThreadCoreInterface = /** @class */ (function (_super) {
23
24
  __extends(MonoThreadCoreInterface, _super);
@@ -29,7 +30,7 @@ var MonoThreadCoreInterface = /** @class */ (function (_super) {
29
30
  MonoThreadCoreInterface.prototype.sendMessage = function (msg) {
30
31
  var _this = this;
31
32
  log_1.default.debug("M-->C", "Sending message", { name: msg.type });
32
- queueMicrotask(function () {
33
+ (0, queue_microtask_1.default)(function () {
33
34
  // NOTE: We don't clone for performance reasons
34
35
  _this._currentCoreListener({ data: msg });
35
36
  });
@@ -40,7 +41,7 @@ var MonoThreadCoreInterface = /** @class */ (function (_super) {
40
41
  _this._currentCoreListener = handler;
41
42
  };
42
43
  var sendCoreMessage = function (msg, _transferables) {
43
- queueMicrotask(function () {
44
+ (0, queue_microtask_1.default)(function () {
44
45
  if (msg.type !== "log" /* CoreMessageType.LogMessage */) {
45
46
  log_1.default.debug("M<--C", "Sending message", { name: msg.type });
46
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render_thumbnail.d.ts","sourceRoot":"","sources":["../../../src/main_thread/render_thumbnail.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAKlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAA8B,eAAe,CAC3C,YAAY,EAAE,sBAAsB,GAAG,IAAI,EAC3C,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAmNf"}
1
+ {"version":3,"file":"render_thumbnail.d.ts","sourceRoot":"","sources":["../../../src/main_thread/render_thumbnail.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAKlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAA8B,eAAe,CAC3C,YAAY,EAAE,sBAAsB,GAAG,IAAI,EAC3C,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAsNf"}
@@ -110,7 +110,9 @@ function renderThumbnail(contentInfos, options) {
110
110
  onFinished = function () {
111
111
  unlinkCanceller();
112
112
  canceller.cancel("thumbnail request finished");
113
- thumbnailRequestsInfo.pendingRequests.delete(container);
113
+ if (thumbnailRequestsInfo.pendingRequests.get(container) === canceller) {
114
+ thumbnailRequestsInfo.pendingRequests.delete(container);
115
+ }
114
116
  // Let's revoke the URL after a round-trip to the event loop just in case
115
117
  // to prevent revoking before the browser use it.
116
118
  // This is normally not necessary, but better safe than sorry.
@@ -218,13 +220,14 @@ function renderThumbnail(contentInfos, options) {
218
220
  })];
219
221
  case 4:
220
222
  srcError_1 = _a.sent();
221
- if (options.keepPreviousThumbnailOnError !== true) {
222
- clearPreviousThumbnails();
223
- }
224
223
  if (srcError_1 !== null && srcError_1 === canceller.signal.cancellationError) {
224
+ onFinished();
225
225
  error = new ThumbnailRenderingError("ABORTED", "Thumbnail rendering has been aborted");
226
226
  throw error;
227
227
  }
228
+ if (options.keepPreviousThumbnailOnError !== true) {
229
+ clearPreviousThumbnails();
230
+ }
228
231
  if (srcError_1 instanceof ThumbnailRenderingError) {
229
232
  onFinished();
230
233
  throw srcError_1;
@@ -1 +1 @@
1
- {"version":3,"file":"embedded_dash_wasm.d.ts","sourceRoot":"","sources":["../../../src/__GENERATED_CODE/embedded_dash_wasm.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,aAAmpkV,CAAC;AACzqkV,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,CAAC;AACjD,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"embedded_dash_wasm.d.ts","sourceRoot":"","sources":["../../../src/__GENERATED_CODE/embedded_dash_wasm.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,aAA0srV,CAAC;AAChurV,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,CAAC;AACjD,eAAe,eAAe,CAAC"}