bigscreen-player 5.2.2 → 5.3.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.
@@ -1,5 +1,5 @@
1
1
  import { fromXML, generateISD, renderHTML } from 'smp-imsc';
2
- import { b as TimeUtils, L as LoadUrl, a as DebugTool, P as Plugins, U as Utils, D as DOMHelpers } from './main-4a6519a8.js';
2
+ import { b as TimeUtils, L as LoadUrl, a as DebugTool, P as Plugins, U as Utils, D as DOMHelpers } from './main-7ed3c81d.js';
3
3
 
4
4
  function IMSCSubtitles (mediaPlayer, autoStart, parentElement, mediaSources, defaultStyleOpts) {
5
5
  const SEGMENTS_TO_KEEP = 3;
@@ -1,4 +1,4 @@
1
- import { D as DOMHelpers, a as DebugTool, P as Plugins, L as LoadUrl, T as TransportControlPosition } from './main-4a6519a8.js';
1
+ import { D as DOMHelpers, a as DebugTool, P as Plugins, L as LoadUrl, T as TransportControlPosition } from './main-7ed3c81d.js';
2
2
 
3
3
  /**
4
4
  * Safely checks if an attribute exists on an element.
@@ -2048,6 +2048,9 @@ function Html5 () {
2048
2048
  let sentinelIntervalNumber;
2049
2049
  let lastSentinelTime;
2050
2050
 
2051
+ let cachedSeekableRange;
2052
+ let readyToCache = true;
2053
+
2051
2054
  function emitEvent (eventType, eventLabels) {
2052
2055
  const event = {
2053
2056
  type: eventType,
@@ -2329,12 +2332,36 @@ function Html5 () {
2329
2332
  return undefined
2330
2333
  }
2331
2334
 
2335
+ function getCachedSeekableRange () {
2336
+ if (readyToCache) {
2337
+ cacheSeekableRange();
2338
+ }
2339
+
2340
+ return cachedSeekableRange
2341
+ }
2342
+
2343
+ function cacheSeekableRange () {
2344
+ readyToCache = false;
2345
+ setTimeout(function () {
2346
+ readyToCache = true;
2347
+ }, 250);
2348
+
2349
+ cachedSeekableRange = {
2350
+ start: mediaElement.seekable.start(0),
2351
+ end: mediaElement.seekable.end(0)
2352
+ };
2353
+ }
2354
+
2332
2355
  function getSeekableRange () {
2333
2356
  if (mediaElement) {
2334
2357
  if (isReadyToPlayFrom() && mediaElement.seekable && mediaElement.seekable.length > 0) {
2335
- return {
2336
- start: mediaElement.seekable.start(0),
2337
- end: mediaElement.seekable.end(0)
2358
+ if (window.bigscreenPlayer.overrides && window.bigscreenPlayer.overrides.cacheSeekableRange) {
2359
+ return getCachedSeekableRange()
2360
+ } else {
2361
+ return {
2362
+ start: mediaElement.seekable.start(0),
2363
+ end: mediaElement.seekable.end(0)
2364
+ }
2338
2365
  }
2339
2366
  } else if (mediaElement.duration !== undefined) {
2340
2367
  return {
@@ -5673,12 +5700,12 @@ function StrategyPicker (windowType, isUHD) {
5673
5700
  return resolve(NativeStrategy)
5674
5701
  }
5675
5702
 
5676
- return import('./msestrategy-df1ab5e2.js').then(({default: MSEStrategy}) => resolve(MSEStrategy))
5703
+ return import('./msestrategy-a2b182ce.js').then(({default: MSEStrategy}) => resolve(MSEStrategy))
5677
5704
  .catch(() => {
5678
5705
  reject({error: 'strategyDynamicLoadError'});
5679
5706
  })
5680
5707
  } else if (window.bigscreenPlayer.playbackStrategy === PlaybackStrategy.MSE) {
5681
- return import('./msestrategy-df1ab5e2.js').then(({default: MSEStrategy}) => resolve(MSEStrategy))
5708
+ return import('./msestrategy-a2b182ce.js').then(({default: MSEStrategy}) => resolve(MSEStrategy))
5682
5709
  .catch(() => {
5683
5710
  reject({error: 'strategyDynamicLoadError'});
5684
5711
  })
@@ -6058,7 +6085,7 @@ function CallCallbacks (callbacks, data) {
6058
6085
  callbacks.forEach((callback) => DeferExceptions(() => callback(data)));
6059
6086
  }
6060
6087
 
6061
- var version = "5.2.2";
6088
+ var version = "5.3.0";
6062
6089
 
6063
6090
  var sourceList;
6064
6091
  var source;
@@ -7244,14 +7271,14 @@ function Subtitles (mediaPlayer, autoStart, playbackElement, defaultStyleOpts, m
7244
7271
  let subtitlesContainer;
7245
7272
 
7246
7273
  if (useLegacySubs) {
7247
- import('./legacysubtitles-7669e1ee.js').then(({default: LegacySubtitles}) => {
7274
+ import('./legacysubtitles-f732130d.js').then(({default: LegacySubtitles}) => {
7248
7275
  subtitlesContainer = LegacySubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7249
7276
  callback(subtitlesEnabled);
7250
7277
  }).catch(() => {
7251
7278
  Plugins.interface.onSubtitlesDynamicLoadError();
7252
7279
  });
7253
7280
  } else {
7254
- import('./imscsubtitles-877e0855.js').then(({default: IMSCSubtitles}) => {
7281
+ import('./imscsubtitles-6a505a4e.js').then(({default: IMSCSubtitles}) => {
7255
7282
  subtitlesContainer = IMSCSubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7256
7283
  callback(subtitlesEnabled);
7257
7284
  }).catch(() => {
package/dist/esm/main.js CHANGED
@@ -1 +1 @@
1
- export { B as BigscreenPlayer, c as LiveSupport, d as MediaKinds, M as MediaState, f as MockBigscreenPlayer, g as PauseTriggers, h as PlaybackStrategy, i as TransferFormat, T as TransportControlPosition, W as WindowTypes } from './main-4a6519a8.js';
1
+ export { B as BigscreenPlayer, c as LiveSupport, d as MediaKinds, M as MediaState, f as MockBigscreenPlayer, g as PauseTriggers, h as PlaybackStrategy, i as TransferFormat, T as TransportControlPosition, W as WindowTypes } from './main-7ed3c81d.js';
@@ -1,4 +1,4 @@
1
- import { D as DOMHelpers, W as WindowTypes, c as LiveSupport, M as MediaState, a as DebugTool, P as Plugins, d as MediaKinds, U as Utils, b as TimeUtils, e as DynamicWindowUtils } from './main-4a6519a8.js';
1
+ import { D as DOMHelpers, W as WindowTypes, c as LiveSupport, M as MediaState, a as DebugTool, P as Plugins, d as MediaKinds, U as Utils, b as TimeUtils, e as DynamicWindowUtils } from './main-7ed3c81d.js';
2
2
  import { MediaPlayer } from 'dashjs/index_mediaplayerOnly';
3
3
 
4
4
  function filter (manifest, representationOptions) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigscreen-player",
3
- "version": "5.2.2",
3
+ "version": "5.3.0",
4
4
  "description": "Simplified media playback for bigscreen devices.",
5
5
  "main": "dist/esm/main.js",
6
6
  "browser": "dist/esm/main.js",