rx-player 4.5.0-dev.2026012302 → 4.5.0-dev.2026021900

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 (108) hide show
  1. package/CHANGELOG.md +9 -1
  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/compat/should_seek_at_zero.d.ts +12 -0
  8. package/dist/commonjs/compat/should_seek_at_zero.d.ts.map +1 -0
  9. package/dist/commonjs/compat/should_seek_at_zero.js +23 -0
  10. package/dist/commonjs/core/entry/FreezeResolver.js +2 -2
  11. package/dist/commonjs/core/entry/content_time_boundaries_observer.d.ts.map +1 -1
  12. package/dist/commonjs/core/entry/content_time_boundaries_observer.js +8 -0
  13. package/dist/commonjs/core/stream/representation/encryption_data_notifier.d.ts +70 -0
  14. package/dist/commonjs/core/stream/representation/encryption_data_notifier.d.ts.map +1 -0
  15. package/dist/commonjs/core/stream/representation/encryption_data_notifier.js +107 -0
  16. package/dist/commonjs/core/stream/representation/representation_stream.d.ts.map +1 -1
  17. package/dist/commonjs/core/stream/representation/representation_stream.js +12 -60
  18. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +1 -1
  19. package/dist/commonjs/default_config.d.ts +5 -0
  20. package/dist/commonjs/default_config.d.ts.map +1 -1
  21. package/dist/commonjs/default_config.js +5 -0
  22. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  23. package/dist/commonjs/main_thread/api/public_api.js +27 -3
  24. package/dist/commonjs/main_thread/init/directfile_content_initializer.d.ts.map +1 -1
  25. package/dist/commonjs/main_thread/init/directfile_content_initializer.js +23 -1
  26. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
  27. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.js +3 -1
  28. package/dist/commonjs/manifest/classes/index.d.ts +2 -1
  29. package/dist/commonjs/manifest/classes/index.d.ts.map +1 -1
  30. package/dist/commonjs/manifest/classes/representation.d.ts +1 -1
  31. package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
  32. package/dist/commonjs/manifest/classes/representation.js +2 -2
  33. package/dist/commonjs/manifest/classes/representation_index/types.d.ts +2 -2
  34. package/dist/commonjs/utils/base64.d.ts +15 -1
  35. package/dist/commonjs/utils/base64.d.ts.map +1 -1
  36. package/dist/commonjs/utils/base64.js +6 -0
  37. package/dist/commonjs/utils/ranges.d.ts +1 -1
  38. package/dist/commonjs/utils/ranges.js +1 -1
  39. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  40. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  41. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  42. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  43. package/dist/es2017/compat/should_seek_at_zero.d.ts +12 -0
  44. package/dist/es2017/compat/should_seek_at_zero.d.ts.map +1 -0
  45. package/dist/es2017/compat/should_seek_at_zero.js +20 -0
  46. package/dist/es2017/core/entry/FreezeResolver.js +1 -1
  47. package/dist/es2017/core/entry/content_time_boundaries_observer.d.ts.map +1 -1
  48. package/dist/es2017/core/entry/content_time_boundaries_observer.js +8 -0
  49. package/dist/es2017/core/stream/representation/encryption_data_notifier.d.ts +70 -0
  50. package/dist/es2017/core/stream/representation/encryption_data_notifier.d.ts.map +1 -0
  51. package/dist/es2017/core/stream/representation/encryption_data_notifier.js +80 -0
  52. package/dist/es2017/core/stream/representation/representation_stream.d.ts.map +1 -1
  53. package/dist/es2017/core/stream/representation/representation_stream.js +10 -38
  54. package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +1 -1
  55. package/dist/es2017/default_config.d.ts +5 -0
  56. package/dist/es2017/default_config.d.ts.map +1 -1
  57. package/dist/es2017/default_config.js +5 -0
  58. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  59. package/dist/es2017/main_thread/api/public_api.js +27 -3
  60. package/dist/es2017/main_thread/init/directfile_content_initializer.d.ts.map +1 -1
  61. package/dist/es2017/main_thread/init/directfile_content_initializer.js +23 -1
  62. package/dist/es2017/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
  63. package/dist/es2017/main_thread/init/utils/initial_seek_and_play.js +3 -1
  64. package/dist/es2017/manifest/classes/index.d.ts +2 -1
  65. package/dist/es2017/manifest/classes/index.d.ts.map +1 -1
  66. package/dist/es2017/manifest/classes/representation.d.ts +1 -1
  67. package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
  68. package/dist/es2017/manifest/classes/representation.js +1 -1
  69. package/dist/es2017/manifest/classes/representation_index/types.d.ts +2 -2
  70. package/dist/es2017/utils/base64.d.ts +15 -1
  71. package/dist/es2017/utils/base64.d.ts.map +1 -1
  72. package/dist/es2017/utils/base64.js +6 -0
  73. package/dist/es2017/utils/ranges.d.ts +1 -1
  74. package/dist/es2017/utils/ranges.js +1 -1
  75. package/dist/mpd-parser.wasm +0 -0
  76. package/dist/worker.js +6 -6
  77. package/package.json +9 -3
  78. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
  79. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  80. package/src/compat/should_seek_at_zero.ts +23 -0
  81. package/src/core/adaptive/__tests__/guess_based_chooser.test.ts +790 -0
  82. package/src/core/adaptive/__tests__/network_analyzer.test.ts +514 -0
  83. package/src/core/adaptive/utils/__tests__/pending_requests_store.test.ts +285 -0
  84. package/src/core/adaptive/utils/__tests__/representation_score_calculator.test.ts +247 -0
  85. package/src/core/entry/FreezeResolver.ts +1 -1
  86. package/src/core/entry/__tests__/FreezeResolver.test.ts +542 -0
  87. package/src/core/entry/__tests__/content_time_boundaries_observer.test.ts +868 -0
  88. package/src/core/entry/content_time_boundaries_observer.ts +10 -0
  89. package/src/core/stream/adaptation/__tests__/get_representations_switch_strategy.test.ts +592 -0
  90. package/src/core/stream/period/utils/__tests__/get_adaptation_switch_strategy.test.ts +646 -0
  91. package/src/core/stream/representation/__tests__/encryption_data_notifier.test.ts +531 -0
  92. package/src/core/stream/representation/encryption_data_notifier.ts +122 -0
  93. package/src/core/stream/representation/representation_stream.ts +11 -49
  94. package/src/core/stream/representation/utils/__tests__/append_segment_to_buffer.test.ts +321 -0
  95. package/src/core/stream/representation/utils/__tests__/check_for_discontinuity.test.ts +513 -0
  96. package/src/core/stream/representation/utils/__tests__/get_segment_priority.test.ts +132 -0
  97. package/src/core/stream/representation/utils/__tests__/push_init_segment.test.ts +209 -0
  98. package/src/core/stream/representation/utils/__tests__/push_media_segment.test.ts +343 -0
  99. package/src/core/stream/representation/utils/get_needed_segments.ts +1 -1
  100. package/src/default_config.ts +6 -0
  101. package/src/main_thread/api/public_api.ts +32 -3
  102. package/src/main_thread/init/directfile_content_initializer.ts +26 -1
  103. package/src/main_thread/init/utils/initial_seek_and_play.ts +5 -1
  104. package/src/manifest/classes/index.ts +2 -0
  105. package/src/manifest/classes/representation.ts +2 -1
  106. package/src/manifest/classes/representation_index/types.ts +2 -2
  107. package/src/utils/base64.ts +30 -1
  108. package/src/utils/ranges.ts +1 -1
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Determines whether the player should perform an explicit initial seek to 0.
3
+ *
4
+ * In most cases, a media element starts at position 0 and no initial seek is
5
+ * needed. The exception is Safari when playing HLS streams: the native player
6
+ * may start at the live position instead of 0, so performing an explicit seek
7
+ * ensures the player starts from the intended initial position.
8
+ *
9
+ * @returns {boolean} `true` if an explicit initial seek to 0 should be performed.
10
+ */
11
+ export default function shouldPerformInitialSeekToZero(): boolean;
12
+ //# sourceMappingURL=should_seek_at_zero.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"should_seek_at_zero.d.ts","sourceRoot":"","sources":["../../../src/compat/should_seek_at_zero.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,8BAA8B,IAAI,OAAO,CAShE"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = shouldPerformInitialSeekToZero;
4
+ var config_1 = require("../config");
5
+ var env_detector_1 = require("./env_detector");
6
+ /**
7
+ * Determines whether the player should perform an explicit initial seek to 0.
8
+ *
9
+ * In most cases, a media element starts at position 0 and no initial seek is
10
+ * needed. The exception is Safari when playing HLS streams: the native player
11
+ * may start at the live position instead of 0, so performing an explicit seek
12
+ * ensures the player starts from the intended initial position.
13
+ *
14
+ * @returns {boolean} `true` if an explicit initial seek to 0 should be performed.
15
+ */
16
+ function shouldPerformInitialSeekToZero() {
17
+ var FORCE_INITIAL_SEEK_TO_ZERO = config_1.default.getCurrent().FORCE_INITIAL_SEEK_TO_ZERO;
18
+ if (FORCE_INITIAL_SEEK_TO_ZERO) {
19
+ return FORCE_INITIAL_SEEK_TO_ZERO;
20
+ }
21
+ return (env_detector_1.default.browser === env_detector_1.default.BROWSERS.SafariDesktop ||
22
+ env_detector_1.default.browser === env_detector_1.default.BROWSERS.SafariMobile);
23
+ }
@@ -11,7 +11,7 @@ var __values = (this && this.__values) || function(o) {
11
11
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- var experimental_1 = require("../../experimental");
14
+ var config_1 = require("../../config");
15
15
  var log_1 = require("../../log");
16
16
  var monotonic_timestamp_1 = require("../../utils/monotonic_timestamp");
17
17
  /**
@@ -104,7 +104,7 @@ var FreezeResolver = /** @class */ (function () {
104
104
  return null;
105
105
  }
106
106
  this._ignoreFreezeUntil = null;
107
- var _c = experimental_1.config.getCurrent(), UNFREEZING_SEEK_DELAY = _c.UNFREEZING_SEEK_DELAY, UNFREEZING_DELTA_POSITION = _c.UNFREEZING_DELTA_POSITION, FREEZING_FLUSH_FAILURE_DELAY = _c.FREEZING_FLUSH_FAILURE_DELAY;
107
+ var _c = config_1.default.getCurrent(), UNFREEZING_SEEK_DELAY = _c.UNFREEZING_SEEK_DELAY, UNFREEZING_DELTA_POSITION = _c.UNFREEZING_DELTA_POSITION, FREEZING_FLUSH_FAILURE_DELAY = _c.FREEZING_FLUSH_FAILURE_DELAY;
108
108
  var readyState = observation.readyState, rebuffering = observation.rebuffering, freezing = observation.freezing, fullyLoaded = observation.fullyLoaded;
109
109
  var freezingPosition = observation.position.getPolled();
110
110
  var bufferGap = normalizeBufferGap(observation.bufferGap);
@@ -1 +1 @@
1
- {"version":3,"file":"content_time_boundaries_observer.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/content_time_boundaries_observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,sCAAsC,EACtC,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,OAAO,EACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAMrD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,YAAY,CAAC,mCAAmC,CAAC;IAC1G,mFAAmF;IACnF,OAAO,CAAC,UAAU,CAAgB;IAElC,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAuC;IAE7D,2DAA2D;IAC3D,OAAO,CAAC,SAAS,CAAY;IAE7B,uEAAuE;IACvE,OAAO,CAAC,0BAA0B,CAA4B;IAE9D,kEAAkE;IAClE,OAAO,CAAC,eAAe,CAAgB;IAEvC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB,CAAgB;IAE5C;;;OAGG;gBAED,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACnF,WAAW,EAAE,WAAW,EAAE;IA6D5B;;;;OAIG;IACI,oBAAoB,IAAI,0BAA0B;IAIzD;;;;;;;;;;;;OAYG;IACI,kBAAkB,CACvB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,WAAW,GAAG,IAAI,GAC7B,IAAI;IA+BP;;;;;;;;;OASG;IACI,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAI7E;;;;;;;;;OASG;IACI,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAItE;;;;;;;;OAQG;IACI,4BAA4B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQlE;;;;;;;;;;OAUG;IACI,0BAA0B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQhE;;;;;;OAMG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAKzC,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,iBAAiB;CAc1B;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAClD,mDAAmD;IACnD,OAAO,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,oBAAoB,EAAE,0BAA0B,CAAC;IACjD;;;;;;;;;OASG;IACH,WAAW,EAAE,IAAI,CAAC;IAClB;;;;;;;;;OASG;IACH,YAAY,EAAE,IAAI,CAAC;CACpB;AAgPD,MAAM,MAAM,uCAAuC,GAAG,IAAI,CACxD,sCAAsC,EACtC,UAAU,CACX,CAAC"}
1
+ {"version":3,"file":"content_time_boundaries_observer.d.ts","sourceRoot":"","sources":["../../../../src/core/entry/content_time_boundaries_observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,sCAAsC,EACtC,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,OAAO,EACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAMrD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,YAAY,CAAC,mCAAmC,CAAC;IAC1G,mFAAmF;IACnF,OAAO,CAAC,UAAU,CAAgB;IAElC,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAuC;IAE7D,2DAA2D;IAC3D,OAAO,CAAC,SAAS,CAAY;IAE7B,uEAAuE;IACvE,OAAO,CAAC,0BAA0B,CAA4B;IAE9D,kEAAkE;IAClE,OAAO,CAAC,eAAe,CAAgB;IAEvC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB,CAAgB;IAE5C;;;OAGG;gBAED,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACnF,WAAW,EAAE,WAAW,EAAE;IAsE5B;;;;OAIG;IACI,oBAAoB,IAAI,0BAA0B;IAIzD;;;;;;;;;;;;OAYG;IACI,kBAAkB,CACvB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,WAAW,GAAG,IAAI,GAC7B,IAAI;IA+BP;;;;;;;;;OASG;IACI,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAI7E;;;;;;;;;OASG;IACI,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAItE;;;;;;;;OAQG;IACI,4BAA4B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQlE;;;;;;;;;;OAUG;IACI,0BAA0B,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAQhE;;;;;;OAMG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAKzC,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,iBAAiB;CAc1B;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAClD,mDAAmD;IACnD,OAAO,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,oBAAoB,EAAE,0BAA0B,CAAC;IACjD;;;;;;;;;OASG;IACH,WAAW,EAAE,IAAI,CAAC;IAClB;;;;;;;;;OASG;IACH,YAAY,EAAE,IAAI,CAAC;CACpB;AAgPD,MAAM,MAAM,uCAAuC,GAAG,IAAI,CACxD,sCAAsC,EACtC,UAAU,CACX,CAAC"}
@@ -42,6 +42,7 @@ var __values = (this && this.__values) || function(o) {
42
42
  };
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
44
  var errors_1 = require("../../errors");
45
+ var array_includes_1 = require("../../utils/array_includes");
45
46
  var event_emitter_1 = require("../../utils/event_emitter");
46
47
  var is_null_or_undefined_1 = require("../../utils/is_null_or_undefined");
47
48
  var queue_microtask_1 = require("../../utils/queue_microtask");
@@ -78,6 +79,13 @@ var ContentTimeBoundariesObserver = /** @class */ (function (_super) {
78
79
  * whole content.
79
80
  */
80
81
  var maximumPositionCalculator = new MaximumPositionCalculator(manifest);
82
+ // Indicate directly that no Adaptation of a particular type will be set
83
+ if (!(0, array_includes_1.default)(_this._allBufferTypes, "video")) {
84
+ maximumPositionCalculator.updateLastVideoAdaptation(null);
85
+ }
86
+ if (!(0, array_includes_1.default)(_this._allBufferTypes, "audio")) {
87
+ maximumPositionCalculator.updateLastAudioAdaptation(null);
88
+ }
81
89
  _this._maximumPositionCalculator = maximumPositionCalculator;
82
90
  var cancelSignal = _this._canceller.signal;
83
91
  // As the following code may send events synchronously, which would not be
@@ -0,0 +1,70 @@
1
+ import type { Representation, IRepresentationProtectionData } from "../../../manifest/classes";
2
+ import type { IProtectionDataInfo } from "../../../transports";
3
+ /**
4
+ * Manages the one-time notification of encryption/DRM data for a Representation.
5
+ *
6
+ * This class collects encryption data from parsed segments and ensures that
7
+ * the encryption notification callback is triggered exactly once, as soon as
8
+ * sufficient data is available.
9
+ *
10
+ * The notification may occur in two ways:
11
+ * 1. **Early notification** (constructor): If the DRM system ID is known and
12
+ * complete encryption data (with all key IDs) is already available, the
13
+ * notification is sent immediately to enable faster license negotiation.
14
+ * 2. **Deferred notification** (onNewProtectionData): If early notification
15
+ * doesn't occur, encryption data is collected from parsed segments and
16
+ * the notification is sent once any encryption data becomes available.
17
+ *
18
+ * @example
19
+ * const notifier = new EncryptionDataNotifier({
20
+ * drmSystemId: "edef8ba979d64acea3c827dcd51d21ed",
21
+ * representation,
22
+ * notify: (data) => callbacks.encryptionDataEncountered(data),
23
+ * });
24
+ *
25
+ * // Later, when a segment is parsed:
26
+ * notifier.onNewProtectionData(parsedSegmentEvent.protectionData);
27
+ */
28
+ export default class EncryptionDataNotifier {
29
+ /**
30
+ * If `true` encryption data has already been sent through this
31
+ * `EncryptionDataNotifier`.
32
+ *
33
+ * For now we only send encryption data once per notifier at most as it was
34
+ * historically the only encountered case (encryption data in initialization
35
+ * segment).
36
+ * TODO: remove rule?
37
+ */
38
+ private _hasSentEncryptionData;
39
+ /**
40
+ * `Representation` linked to that `EncryptionDataNotifier`. Might be mutated
41
+ * to add encryption data information.
42
+ */
43
+ private _representation;
44
+ /** Callback to call when encryption information is first encountered. */
45
+ private _notify;
46
+ /**
47
+ * Create a new `EncryptionDataNotifier`.
48
+ * @param {Object} param0
49
+ * @param {string|undefined} param0.drmSystemId - If known the ID in hex
50
+ * format of the used DRM system (playready, widevine etc.).
51
+ * @param {Object} param0.representation - Object describing the
52
+ * Representation (including protection-related information). New encryption
53
+ * data might be added to it by this class.
54
+ * @param {Function} param0.notify - Function that will be called once new
55
+ * protection data has been detected.
56
+ */
57
+ constructor({ drmSystemId, representation, notify, }: {
58
+ drmSystemId: string | undefined;
59
+ representation: Representation;
60
+ notify: (contentProtections: IRepresentationProtectionData[]) => void;
61
+ });
62
+ /**
63
+ * Signal that new protection data information is available.
64
+ * If necessary, that data will be added to the Representation and sent
65
+ * through the `notifiy` callback passed in constructor.
66
+ * @param {Array.<Object>} data - The new protection data encountered.
67
+ */
68
+ onNewProtectionData(data: IProtectionDataInfo[]): void;
69
+ }
70
+ //# sourceMappingURL=encryption_data_notifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption_data_notifier.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/representation/encryption_data_notifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,6BAA6B,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB,CAAU;IACxC;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAiB;IACxC,yEAAyE;IACzE,OAAO,CAAC,OAAO,CAAgE;IAE/E;;;;;;;;;;OAUG;gBACS,EACV,WAAW,EACX,cAAc,EACd,MAAM,GACP,EAAE;QACD,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,cAAc,EAAE,cAAc,CAAC;QAC/B,MAAM,EAAE,CAAC,kBAAkB,EAAE,6BAA6B,EAAE,KAAK,IAAI,CAAC;KACvE;IAuBD;;;;;OAKG;IACI,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,IAAI;CAuB9D"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __values = (this && this.__values) || function(o) {
3
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
+ if (m) return m.call(o);
5
+ if (o && typeof o.length === "number") return {
6
+ next: function () {
7
+ if (o && i >= o.length) o = void 0;
8
+ return { value: o && o[i++], done: !o };
9
+ }
10
+ };
11
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ /**
15
+ * Manages the one-time notification of encryption/DRM data for a Representation.
16
+ *
17
+ * This class collects encryption data from parsed segments and ensures that
18
+ * the encryption notification callback is triggered exactly once, as soon as
19
+ * sufficient data is available.
20
+ *
21
+ * The notification may occur in two ways:
22
+ * 1. **Early notification** (constructor): If the DRM system ID is known and
23
+ * complete encryption data (with all key IDs) is already available, the
24
+ * notification is sent immediately to enable faster license negotiation.
25
+ * 2. **Deferred notification** (onNewProtectionData): If early notification
26
+ * doesn't occur, encryption data is collected from parsed segments and
27
+ * the notification is sent once any encryption data becomes available.
28
+ *
29
+ * @example
30
+ * const notifier = new EncryptionDataNotifier({
31
+ * drmSystemId: "edef8ba979d64acea3c827dcd51d21ed",
32
+ * representation,
33
+ * notify: (data) => callbacks.encryptionDataEncountered(data),
34
+ * });
35
+ *
36
+ * // Later, when a segment is parsed:
37
+ * notifier.onNewProtectionData(parsedSegmentEvent.protectionData);
38
+ */
39
+ var EncryptionDataNotifier = /** @class */ (function () {
40
+ /**
41
+ * Create a new `EncryptionDataNotifier`.
42
+ * @param {Object} param0
43
+ * @param {string|undefined} param0.drmSystemId - If known the ID in hex
44
+ * format of the used DRM system (playready, widevine etc.).
45
+ * @param {Object} param0.representation - Object describing the
46
+ * Representation (including protection-related information). New encryption
47
+ * data might be added to it by this class.
48
+ * @param {Function} param0.notify - Function that will be called once new
49
+ * protection data has been detected.
50
+ */
51
+ function EncryptionDataNotifier(_a) {
52
+ var drmSystemId = _a.drmSystemId, representation = _a.representation, notify = _a.notify;
53
+ this._hasSentEncryptionData = false;
54
+ this._representation = representation;
55
+ this._notify = notify;
56
+ // If the DRM system id is already known, and if we already have encryption data
57
+ // for it, we may not need to wait until the initialization segment is loaded to
58
+ // signal required protection data, thus performing License negotiations sooner
59
+ if (drmSystemId !== undefined) {
60
+ var encryptionData = representation.getEncryptionData(drmSystemId);
61
+ // If some key ids are not known yet, it may be safer to wait for this initialization
62
+ // segment to be loaded first
63
+ if (encryptionData.length > 0 &&
64
+ encryptionData.every(function (e) { return e.keyIds !== undefined; })) {
65
+ this._hasSentEncryptionData = true;
66
+ notify(encryptionData);
67
+ }
68
+ }
69
+ }
70
+ /**
71
+ * Signal that new protection data information is available.
72
+ * If necessary, that data will be added to the Representation and sent
73
+ * through the `notifiy` callback passed in constructor.
74
+ * @param {Array.<Object>} data - The new protection data encountered.
75
+ */
76
+ EncryptionDataNotifier.prototype.onNewProtectionData = function (data) {
77
+ var e_1, _a;
78
+ try {
79
+ // Supplementary encryption information might have been parsed.
80
+ for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
81
+ var protInfo = data_1_1.value;
82
+ // TODO better handle use cases like key rotation by not always grouping
83
+ // every protection data together? To check.
84
+ this._representation.addProtectionData(protInfo.initDataType, protInfo.keyId, protInfo.initData);
85
+ }
86
+ }
87
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
88
+ finally {
89
+ try {
90
+ if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
91
+ }
92
+ finally { if (e_1) throw e_1.error; }
93
+ }
94
+ // Now that the initialization segment has been parsed - which may have
95
+ // included encryption information - take care of the encryption event
96
+ // if not already done.
97
+ if (!this._hasSentEncryptionData) {
98
+ var allEncryptionData = this._representation.getAllEncryptionData();
99
+ if (allEncryptionData.length > 0) {
100
+ this._notify(allEncryptionData);
101
+ this._hasSentEncryptionData = true;
102
+ }
103
+ }
104
+ };
105
+ return EncryptionDataNotifier;
106
+ }());
107
+ exports.default = EncryptionDataNotifier;
@@ -1 +1 @@
1
- {"version":3,"file":"representation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/representation/representation_stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAMxE,OAAO,KAAK,EAEV,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,gBAAgB,EAC3D,EACE,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,GACV,EAAE,8BAA8B,CAAC,gBAAgB,CAAC,EACnD,SAAS,EAAE,8BAA8B,EACzC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CAoZN"}
1
+ {"version":3,"file":"representation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/representation/representation_stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAOxE,OAAO,KAAK,EAEV,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,gBAAgB,EAC3D,EACE,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,GACV,EAAE,8BAA8B,CAAC,gBAAgB,CAAC,EACnD,SAAS,EAAE,8BAA8B,EACzC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CA6WN"}
@@ -14,17 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- var __values = (this && this.__values) || function(o) {
18
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
- if (m) return m.call(o);
20
- if (o && typeof o.length === "number") return {
21
- next: function () {
22
- if (o && i >= o.length) o = void 0;
23
- return { value: o && o[i++], done: !o };
24
- }
25
- };
26
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
- };
28
17
  Object.defineProperty(exports, "__esModule", { value: true });
29
18
  exports.default = RepresentationStream;
30
19
  /**
@@ -39,6 +28,7 @@ var config_1 = require("../../../config");
39
28
  var log_1 = require("../../../log");
40
29
  var object_assign_1 = require("../../../utils/object_assign");
41
30
  var task_canceller_1 = require("../../../utils/task_canceller");
31
+ var encryption_data_notifier_1 = require("./encryption_data_notifier");
42
32
  var get_buffer_status_1 = require("./utils/get_buffer_status");
43
33
  var get_segment_priority_1 = require("./utils/get_segment_priority");
44
34
  var push_init_segment_1 = require("./utils/push_init_segment");
@@ -110,27 +100,15 @@ function RepresentationStream(_a, callbacks, parentCancelSignal) {
110
100
  if (!hasInitSegment) {
111
101
  initSegmentState.isLoaded = true;
112
102
  }
113
- /**
114
- * `true` if the event notifying about encryption data has already been
115
- * constructed.
116
- * Allows to avoid sending multiple times protection events.
117
- */
118
- var hasSentEncryptionData = false;
119
- // If the DRM system id is already known, and if we already have encryption data
120
- // for it, we may not need to wait until the initialization segment is loaded to
121
- // signal required protection data, thus performing License negotiations sooner
122
- if (drmSystemId !== undefined) {
123
- var encryptionData = representation.getEncryptionData(drmSystemId);
124
- // If some key ids are not known yet, it may be safer to wait for this initialization
125
- // segment to be loaded first
126
- if (encryptionData.length > 0 &&
127
- encryptionData.every(function (e) { return e.keyIds !== undefined; })) {
128
- hasSentEncryptionData = true;
129
- callbacks.encryptionDataEncountered(encryptionData.map(function (d) { return (0, object_assign_1.default)({ content: content }, d); }));
130
- if (canceller.isUsed()) {
131
- return; // previous callback has stopped everything by side-effect
132
- }
133
- }
103
+ var drmNotifier = new encryption_data_notifier_1.default({
104
+ drmSystemId: drmSystemId,
105
+ representation: representation,
106
+ notify: function (encryptionData) {
107
+ return callbacks.encryptionDataEncountered(encryptionData.map(function (d) { return (0, object_assign_1.default)({ content: content }, d); }));
108
+ },
109
+ });
110
+ if (canceller.isUsed()) {
111
+ return;
134
112
  }
135
113
  segmentQueue.addEventListener("error", function (err) {
136
114
  if (canceller.signal.isCancelled()) {
@@ -208,7 +186,7 @@ function RepresentationStream(_a, callbacks, parentCancelSignal) {
208
186
  });
209
187
  }
210
188
  else if (initSegmentState.isLoaded) {
211
- log_1.default.warn("Stream", "Uninitialized index with an already loaded " + "initialization segment", {
189
+ log_1.default.warn("Stream", "Uninitialized index with an already loaded initialization segment", {
212
190
  bufferType: bufferType,
213
191
  representationBitrate: content.representation.bitrate,
214
192
  });
@@ -306,33 +284,7 @@ function RepresentationStream(_a, callbacks, parentCancelSignal) {
306
284
  * @param {Object} evt
307
285
  */
308
286
  function onParsedChunk(evt) {
309
- var e_1, _a;
310
- try {
311
- // Supplementary encryption information might have been parsed.
312
- for (var _b = __values(evt.protectionData), _c = _b.next(); !_c.done; _c = _b.next()) {
313
- var protInfo = _c.value;
314
- // TODO better handle use cases like key rotation by not always grouping
315
- // every protection data together? To check.
316
- representation.addProtectionData(protInfo.initDataType, protInfo.keyId, protInfo.initData);
317
- }
318
- }
319
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
320
- finally {
321
- try {
322
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
323
- }
324
- finally { if (e_1) throw e_1.error; }
325
- }
326
- // Now that the initialization segment has been parsed - which may have
327
- // included encryption information - take care of the encryption event
328
- // if not already done.
329
- if (!hasSentEncryptionData) {
330
- var allEncryptionData = representation.getAllEncryptionData();
331
- if (allEncryptionData.length > 0) {
332
- callbacks.encryptionDataEncountered(allEncryptionData.map(function (p) { return (0, object_assign_1.default)({ content: content }, p); }));
333
- hasSentEncryptionData = true;
334
- }
335
- }
287
+ drmNotifier.onNewProtectionData(evt.protectionData);
336
288
  if (evt.segmentType === "init") {
337
289
  if (!representation.index.isInitialized() && evt.segmentList !== undefined) {
338
290
  representation.index.initialize(evt.segmentList);
@@ -217,7 +217,7 @@ function getAvailableBufferSize(bufferedSegments, segmentsBeingPushed, maxVideoB
217
217
  /**
218
218
  * From the given array of buffered chunks (`bufferedSegments`) returns the last
219
219
  * buffered chunk contiguous with the one at the `startIndex` index given.
220
- * @param {Array.<Object>}
220
+ * @param {Array.<Object>} bufferedSegments
221
221
  * @param {number} startIndex
222
222
  * @returns {Object}
223
223
  */
@@ -1194,6 +1194,11 @@ declare const DEFAULT_CONFIG: {
1194
1194
  * announcing the content as loaded.
1195
1195
  */
1196
1196
  FORCE_WAIT_FOR_HAVE_ENOUGH_DATA: boolean;
1197
+ /**
1198
+ * If `true`, forces an initial seek to 0. Mainly needed for Safari HLS,
1199
+ * where the player may start at the live position instead of 0.
1200
+ */
1201
+ FORCE_INITIAL_SEEK_TO_ZERO: boolean;
1197
1202
  };
1198
1203
  export type IDefaultConfig = typeof DEFAULT_CONFIG;
1199
1204
  export default DEFAULT_CONFIG;
@@ -1 +1 @@
1
- {"version":3,"file":"default_config.d.ts","sourceRoot":"","sources":["../../src/default_config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default_config.d.ts","sourceRoot":"","sources":["../../src/default_config.ts"],"names":[],"mappings":"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"}
@@ -1228,6 +1228,11 @@ var DEFAULT_CONFIG = {
1228
1228
  * announcing the content as loaded.
1229
1229
  */
1230
1230
  FORCE_WAIT_FOR_HAVE_ENOUGH_DATA: false,
1231
+ /**
1232
+ * If `true`, forces an initial seek to 0. Mainly needed for Safari HLS,
1233
+ * where the player may start at the live position instead of 0.
1234
+ */
1235
+ FORCE_INITIAL_SEEK_TO_ZERO: false,
1231
1236
  };
1232
1237
  exports.default = DEFAULT_CONFIG;
1233
1238
  function checkIsSerializable(_conf) {
@@ -1 +1 @@
1
- {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/api/public_api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/api/public_api.ts"],"names":[],"mappings":"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"}
@@ -189,7 +189,7 @@ var Player = /** @class */ (function (_super) {
189
189
  // Workaround to support Firefox autoplay on FF 42.
190
190
  // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
191
191
  videoElement.preload = "auto";
192
- _this.version = /* PLAYER_VERSION */ "4.5.0-dev.2026012302";
192
+ _this.version = /* PLAYER_VERSION */ "4.5.0-dev.2026021900";
193
193
  _this.log = log_1.default;
194
194
  _this.state = "STOPPED";
195
195
  _this.videoElement = videoElement;
@@ -2271,6 +2271,13 @@ var Player = /** @class */ (function (_super) {
2271
2271
  return null;
2272
2272
  }
2273
2273
  if (this._priv_contentInfos.isDirectFile) {
2274
+ if (this.videoElement === null) {
2275
+ log_1.default.error("API", "getMinimumPosition() called on a disposed player");
2276
+ return 0;
2277
+ }
2278
+ if (this.videoElement.seekable.length > 0) {
2279
+ return this.videoElement.seekable.start(0);
2280
+ }
2274
2281
  return 0;
2275
2282
  }
2276
2283
  var manifest = this._priv_contentInfos.manifest;
@@ -2311,8 +2318,13 @@ var Player = /** @class */ (function (_super) {
2311
2318
  var _a = this._priv_contentInfos, isDirectFile = _a.isDirectFile, manifest = _a.manifest;
2312
2319
  if (isDirectFile) {
2313
2320
  if (this.videoElement === null) {
2314
- throw new Error("Disposed player");
2321
+ log_1.default.error("API", "getMaximumPosition() called on a disposed player");
2322
+ return null;
2323
+ }
2324
+ if (this.videoElement.seekable.length > 0) {
2325
+ return this.videoElement.seekable.end(this.videoElement.seekable.length - 1);
2315
2326
  }
2327
+ // if for some reason seekable has no entry, fallback on duration
2316
2328
  return this.videoElement.duration;
2317
2329
  }
2318
2330
  if (manifest !== null) {
@@ -2886,6 +2898,18 @@ var Player = /** @class */ (function (_super) {
2886
2898
  if (startDate !== undefined) {
2887
2899
  positionData.wallClockTime = startDate + observation.position.getPolled();
2888
2900
  }
2901
+ var directFileMaximumPosition = void 0;
2902
+ if (this.videoElement.seekable.length > 0) {
2903
+ directFileMaximumPosition = this.videoElement.seekable.end(this.videoElement.seekable.length - 1);
2904
+ }
2905
+ if (directFileMaximumPosition !== undefined && !isNaN(directFileMaximumPosition)) {
2906
+ positionData.maximumPosition = directFileMaximumPosition;
2907
+ // infinity duration means the content is live
2908
+ if (this.videoElement.duration === Infinity) {
2909
+ positionData.liveGap =
2910
+ directFileMaximumPosition - this.videoElement.currentTime;
2911
+ }
2912
+ }
2889
2913
  }
2890
2914
  this.trigger("positionUpdate", positionData);
2891
2915
  };
@@ -3090,5 +3114,5 @@ var Player = /** @class */ (function (_super) {
3090
3114
  Player._priv_currentlyUsedVideoElements = new WeakSet();
3091
3115
  return Player;
3092
3116
  }(event_emitter_1.default));
3093
- Player.version = /* PLAYER_VERSION */ "4.5.0-dev.2026012302";
3117
+ Player.version = /* PLAYER_VERSION */ "4.5.0-dev.2026021900";
3094
3118
  exports.default = Player;
@@ -1 +1 @@
1
- {"version":3,"file":"directfile_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/directfile_content_initializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAI9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAOpE;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,kBAAkB;IAC1E;;OAEG;IACH,OAAO,CAAC,SAAS,CAAqB;IACtC;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAgB;IAEtC;;;OAGG;gBACS,QAAQ,EAAE,kBAAkB;IAMxC;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;;;;;OAOG;IACI,KAAK,CACV,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,6BAA6B,GAC9C,IAAI;IA0FP;;;;OAIG;IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;IAIjF;;;;;OAKG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIhD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAKrB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CA8CrB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,aAAa,EAC3B,QAAQ,EAAE,OAAO,EACjB,kBAAkB,EAAE,kBAAkB,QAiBvC;AA2ED,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,wDAAwD;IACxD,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC1C,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;CACb"}
1
+ {"version":3,"file":"directfile_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/directfile_content_initializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAK9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAOpE;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,kBAAkB;IAC1E;;OAEG;IACH,OAAO,CAAC,SAAS,CAAqB;IACtC;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAgB;IAEtC;;;OAGG;gBACS,QAAQ,EAAE,kBAAkB;IAMxC;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;;;;;OAOG;IACI,KAAK,CACV,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,6BAA6B,GAC9C,IAAI;IA0FP;;;;OAIG;IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;IAIjF;;;;;OAKG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIhD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAKrB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CA8CrB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,aAAa,EAC3B,QAAQ,EAAE,OAAO,EACjB,kBAAkB,EAAE,kBAAkB,QAiBvC;AAmGD,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,wDAAwD;IACxD,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC1C,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;CACb"}
@@ -32,6 +32,7 @@ var __extends = (this && this.__extends) || (function () {
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
33
  exports.setAutoplay = setAutoplay;
34
34
  var clear_element_src_1 = require("../../compat/clear_element_src");
35
+ var get_start_date_1 = require("../../compat/get_start_date");
35
36
  var log_1 = require("../../log");
36
37
  var assert_1 = require("../../utils/assert");
37
38
  var is_null_or_undefined_1 = require("../../utils/is_null_or_undefined");
@@ -253,7 +254,28 @@ function getDirectFileInitialTime(mediaElement, startAt) {
253
254
  return startAt.position;
254
255
  }
255
256
  else if (!(0, is_null_or_undefined_1.default)(startAt.wallClockTime)) {
256
- return startAt.wallClockTime;
257
+ /**
258
+ * Special case for Safari with HLS in directfile mode:
259
+ *
260
+ * Safari's native HLS implementation uses `#EXT-X-PROGRAM-DATE-TIME` from the manifest
261
+ * as the time reference. This means `mediaElement.currentTime` represents time relative
262
+ * to the playlist's start date.
263
+ *
264
+ * When seeking to a specific `wallClockTime`, we calculate the position by subtracting
265
+ * the playlist's start date from `startPosition.wallClockTime`:
266
+ * seekPosition = wallClockTime - startDate
267
+ *
268
+ * The startDate is retrieved via `mediaElement.getStartDate()`, which only returns
269
+ * a valid date once `mediaElement.readyState >= HAVE_CURRENT_DATA` (≥ 2).
270
+ * If unavailable, we return undefined.
271
+ */
272
+ var startDate = (0, get_start_date_1.default)(mediaElement);
273
+ if (startDate === undefined) {
274
+ log_1.default.warn("Init", "startAt.wallClockTime set but startDate is not known, either it's too soon to seek" +
275
+ " or the browser has no API to get the startDate");
276
+ return undefined;
277
+ }
278
+ return startAt.wallClockTime - startDate;
257
279
  }
258
280
  else if (!(0, is_null_or_undefined_1.default)(startAt.fromFirstPosition)) {
259
281
  return startAt.fromFirstPosition;
@@ -1 +1 @@
1
- {"version":3,"file":"initial_seek_and_play.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/initial_seek_and_play.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAIjF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAEvC,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB;AAC3B,0EAA0E;AACxE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;AACrB;;;GAGG;GACD;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE;AAC9B,sCAAsC;GACpC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzB,+CAA+C;AAC/C,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE3C;;;OAGG;IACH,oBAAoB,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,EACE,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,EAAE;IACD,YAAY,EAAE,aAAa,CAAC;IAC5B,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;CACxC,EACD,YAAY,EAAE,kBAAkB,GAC/B,yBAAyB,CA2O3B"}
1
+ {"version":3,"file":"initial_seek_and_play.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/initial_seek_and_play.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAKjF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAEvC,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB;AAC3B,0EAA0E;AACxE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;AACrB;;;GAGG;GACD;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE;AAC9B,sCAAsC;GACpC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzB,+CAA+C;AAC/C,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE3C;;;OAGG;IACH,oBAAoB,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,EACE,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,EAAE;IACD,YAAY,EAAE,aAAa,CAAC;IAC5B,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;CACxC,EACD,YAAY,EAAE,kBAAkB,GAC/B,yBAAyB,CA8O3B"}