bigscreen-player 8.4.0 → 8.4.2

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 { f as findSegmentTemplate, L as LoadUrl, a as DebugToolInstance, P as Plugins, U as Utils, D as DOMHelpers } from './main-a01db0ab.js';
2
+ import { f as findSegmentTemplate, L as LoadUrl, a as DebugToolInstance, P as Plugins, U as Utils, D as DOMHelpers } from './main-3fb68b6f.js';
3
3
 
4
4
  const SEGMENTS_BUFFER_SIZE = 3;
5
5
  const LOAD_ERROR_COUNT_MAX = 3;
@@ -1,4 +1,4 @@
1
- import { D as DOMHelpers, a as DebugToolInstance, P as Plugins, L as LoadUrl, T as TransportControlPosition } from './main-a01db0ab.js';
1
+ import { D as DOMHelpers, a as DebugToolInstance, P as Plugins, L as LoadUrl, T as TransportControlPosition } from './main-3fb68b6f.js';
2
2
 
3
3
  /**
4
4
  * Safely checks if an attribute exists on an element.
@@ -222,16 +222,39 @@ var Utils = {
222
222
  },
223
223
  };
224
224
 
225
+ function DeferExceptions(callback) {
226
+ try {
227
+ callback();
228
+ }
229
+ catch (error) {
230
+ setTimeout(() => {
231
+ throw error;
232
+ }, 0);
233
+ }
234
+ }
235
+
236
+ function CallCallbacks(callbacks, data) {
237
+ const originalCallbacks = Utils.deepClone(callbacks);
238
+ for (let index = callbacks.length - 1; index >= 0; index--) {
239
+ const originalLength = callbacks.length;
240
+ DeferExceptions(() => callbacks[index](data));
241
+ const newLength = callbacks.length;
242
+ const callbackRemovedSelf = callbacks.indexOf(originalCallbacks[index]) === -1;
243
+ if (originalLength !== newLength && !callbackRemovedSelf) {
244
+ index = index - (originalLength - newLength);
245
+ }
246
+ }
247
+ }
248
+
225
249
  let plugins = [];
226
250
 
227
251
  function callOnAllPlugins(funcKey, evt) {
228
252
  const clonedEvent = Utils.deepClone(evt);
253
+ const selectedPlugins = plugins
254
+ .filter((plugin) => plugin[funcKey] && typeof plugin[funcKey] === "function")
255
+ .map((plugin) => plugin[funcKey]);
229
256
 
230
- for (const plugin in plugins) {
231
- if (plugins[plugin][funcKey]) {
232
- plugins[plugin][funcKey](clonedEvent);
233
- }
234
- }
257
+ CallCallbacks(selectedPlugins, clonedEvent);
235
258
  }
236
259
 
237
260
  var Plugins = {
@@ -5937,7 +5960,7 @@ BasicStrategy.getLiveSupport = () => LiveSupport.SEEKABLE;
5937
5960
  function StrategyPicker() {
5938
5961
  return new Promise((resolve, reject) => {
5939
5962
  if (window.bigscreenPlayer.playbackStrategy === PlaybackStrategy.MSE) {
5940
- return import('./msestrategy-5e0a9e66.js')
5963
+ return import('./msestrategy-2a46df0e.js')
5941
5964
  .then(({ default: MSEStrategy }) => resolve(MSEStrategy))
5942
5965
  .catch(() => {
5943
5966
  reject({ error: "strategyDynamicLoadError" });
@@ -6360,31 +6383,7 @@ const PauseTriggers = {
6360
6383
  DEVICE: 3,
6361
6384
  };
6362
6385
 
6363
- function DeferExceptions(callback) {
6364
- try {
6365
- callback();
6366
- }
6367
- catch (error) {
6368
- setTimeout(() => {
6369
- throw error;
6370
- }, 0);
6371
- }
6372
- }
6373
-
6374
- function CallCallbacks(callbacks, data) {
6375
- const originalCallbacks = Utils.deepClone(callbacks);
6376
- for (let index = callbacks.length - 1; index >= 0; index--) {
6377
- const originalLength = callbacks.length;
6378
- DeferExceptions(() => callbacks[index](data));
6379
- const newLength = callbacks.length;
6380
- const callbackRemovedSelf = callbacks.indexOf(originalCallbacks[index]) === -1;
6381
- if (originalLength !== newLength && !callbackRemovedSelf) {
6382
- index = index - (originalLength - newLength);
6383
- }
6384
- }
6385
- }
6386
-
6387
- var Version = "8.4.0";
6386
+ var Version = "8.4.2";
6388
6387
 
6389
6388
  var sourceList;
6390
6389
  var source;
@@ -7735,7 +7734,7 @@ function Subtitles(mediaPlayer, autoStart, playbackElement, defaultStyleOpts, me
7735
7734
 
7736
7735
  if (available()) {
7737
7736
  if (useLegacySubs) {
7738
- import('./legacysubtitles-a74ec1d2.js')
7737
+ import('./legacysubtitles-a417014a.js')
7739
7738
  .then(({ default: LegacySubtitles }) => {
7740
7739
  subtitlesContainer = LegacySubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7741
7740
  callback(subtitlesEnabled);
@@ -7744,7 +7743,7 @@ function Subtitles(mediaPlayer, autoStart, playbackElement, defaultStyleOpts, me
7744
7743
  Plugins.interface.onSubtitlesDynamicLoadError();
7745
7744
  });
7746
7745
  } else {
7747
- import('./imscsubtitles-ded08624.js')
7746
+ import('./imscsubtitles-3c8a6f17.js')
7748
7747
  .then(({ default: IMSCSubtitles }) => {
7749
7748
  subtitlesContainer = IMSCSubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7750
7749
  callback(subtitlesEnabled);
package/dist/esm/main.js CHANGED
@@ -1 +1 @@
1
- export { B as BigscreenPlayer, a as DebugTool, E as EntryCategory, b as LiveSupport, c as MediaKinds, M as MediaState, g as MockBigscreenPlayer, h as PauseTriggers, i as PlaybackStrategy, j as TransferFormat, T as TransportControlPosition, W as WindowTypes, k as isMessage, l as isMetric, m as isTrace } from './main-a01db0ab.js';
1
+ export { B as BigscreenPlayer, a as DebugTool, E as EntryCategory, b as LiveSupport, c as MediaKinds, M as MediaState, g as MockBigscreenPlayer, h as PauseTriggers, i as PlaybackStrategy, j as TransferFormat, T as TransportControlPosition, W as WindowTypes, k as isMessage, l as isMetric, m as isTrace } from './main-3fb68b6f.js';
@@ -1,5 +1,5 @@
1
1
  import { MediaPlayer } from 'dashjs/index_mediaplayerOnly';
2
- import { W as WindowTypes, U as Utils, D as DOMHelpers, b as LiveSupport, a as DebugToolInstance, M as MediaState, P as Plugins, c as MediaKinds, d as TimeUtils, e as DynamicWindowUtils } from './main-a01db0ab.js';
2
+ import { W as WindowTypes, U as Utils, D as DOMHelpers, b as LiveSupport, a as DebugToolInstance, M as MediaState, P as Plugins, c as MediaKinds, d as TimeUtils, e as DynamicWindowUtils } from './main-3fb68b6f.js';
3
3
 
4
4
  function filter(manifest, representationOptions) {
5
5
  const constantFps = representationOptions.constantFps;
@@ -628,9 +628,22 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
628
628
  playbackElement.insertBefore(mediaElement, playbackElement.firstChild);
629
629
  }
630
630
 
631
+ function getDashSettings(playerSettings) {
632
+ const settings = Utils.deepClone(playerSettings);
633
+
634
+ // BSP Specific Settings
635
+ delete settings.failoverResetTime;
636
+ delete settings.failoverSort;
637
+ delete settings.streaming?.seekDurationPadding;
638
+
639
+ return settings
640
+ }
641
+
631
642
  function setUpMediaPlayer(playbackTime) {
643
+ const dashSettings = getDashSettings(playerSettings);
644
+
632
645
  mediaPlayer = MediaPlayer().create();
633
- mediaPlayer.updateSettings(playerSettings);
646
+ mediaPlayer.updateSettings(dashSettings);
634
647
  mediaPlayer.initialize(mediaElement, null, true);
635
648
  modifySource(playbackTime);
636
649
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigscreen-player",
3
- "version": "8.4.0",
3
+ "version": "8.4.2",
4
4
  "type": "module",
5
5
  "description": "Simplified media playback for bigscreen devices.",
6
6
  "main": "dist/esm/main.js",