bigscreen-player 5.6.0 → 5.6.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 { b as TimeUtils, L as LoadUrl, a as DebugTool, P as Plugins, U as Utils, D as DOMHelpers } from './main-d83db168.js';
2
+ import { b as TimeUtils, L as LoadUrl, a as DebugTool, P as Plugins, U as Utils, D as DOMHelpers } from './main-61b49de6.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-d83db168.js';
1
+ import { D as DOMHelpers, a as DebugTool, P as Plugins, L as LoadUrl, T as TransportControlPosition } from './main-61b49de6.js';
2
2
 
3
3
  /**
4
4
  * Safely checks if an attribute exists on an element.
@@ -5732,12 +5732,12 @@ function StrategyPicker (windowType, isUHD) {
5732
5732
  return resolve(NativeStrategy)
5733
5733
  }
5734
5734
 
5735
- return import('./msestrategy-7987466a.js').then(({ default: MSEStrategy }) => resolve(MSEStrategy))
5735
+ return import('./msestrategy-112ba6b7.js').then(({ default: MSEStrategy }) => resolve(MSEStrategy))
5736
5736
  .catch(() => {
5737
5737
  reject({ error: 'strategyDynamicLoadError' });
5738
5738
  })
5739
5739
  } else if (window.bigscreenPlayer.playbackStrategy === PlaybackStrategy.MSE) {
5740
- return import('./msestrategy-7987466a.js').then(({ default: MSEStrategy }) => resolve(MSEStrategy))
5740
+ return import('./msestrategy-112ba6b7.js').then(({ default: MSEStrategy }) => resolve(MSEStrategy))
5741
5741
  .catch(() => {
5742
5742
  reject({ error: 'strategyDynamicLoadError' });
5743
5743
  })
@@ -6126,10 +6126,22 @@ function DeferExceptions (cb) {
6126
6126
  }
6127
6127
 
6128
6128
  function CallCallbacks (callbacks, data) {
6129
- callbacks.forEach((callback) => DeferExceptions(() => callback(data)));
6129
+ var originalCallbacks = Utils.deepClone(callbacks);
6130
+ for (var i = callbacks.length - 1; i >= 0; i--) {
6131
+ var originalLength = callbacks.length;
6132
+
6133
+ DeferExceptions(() => callbacks[i](data));
6134
+
6135
+ var newLength = callbacks.length;
6136
+ var callbackRemovedSelf = callbacks.indexOf(originalCallbacks[i]) === -1;
6137
+
6138
+ if ((originalLength !== newLength) && !callbackRemovedSelf) {
6139
+ i = i - (originalLength - newLength);
6140
+ }
6141
+ }
6130
6142
  }
6131
6143
 
6132
- var version = "5.6.0";
6144
+ var version = "5.6.2";
6133
6145
 
6134
6146
  var sourceList;
6135
6147
  var source;
@@ -7329,14 +7341,14 @@ function Subtitles (mediaPlayer, autoStart, playbackElement, defaultStyleOpts, m
7329
7341
  let subtitlesContainer;
7330
7342
 
7331
7343
  if (useLegacySubs) {
7332
- import('./legacysubtitles-1f61c428.js').then(({ default: LegacySubtitles }) => {
7344
+ import('./legacysubtitles-48008e22.js').then(({ default: LegacySubtitles }) => {
7333
7345
  subtitlesContainer = LegacySubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7334
7346
  callback(subtitlesEnabled);
7335
7347
  }).catch(() => {
7336
7348
  Plugins.interface.onSubtitlesDynamicLoadError();
7337
7349
  });
7338
7350
  } else {
7339
- import('./imscsubtitles-e372d4d0.js').then(({ default: IMSCSubtitles }) => {
7351
+ import('./imscsubtitles-1012091b.js').then(({ default: IMSCSubtitles }) => {
7340
7352
  subtitlesContainer = IMSCSubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7341
7353
  callback(subtitlesEnabled);
7342
7354
  }).catch(() => {
@@ -7672,9 +7684,10 @@ function BigscreenPlayer () {
7672
7684
  * @param {Function} callback
7673
7685
  */
7674
7686
  unregisterForStateChanges: (callback) => {
7675
- stateChangeCallbacks = stateChangeCallbacks.filter(function (existingCallback) {
7676
- return callback !== existingCallback
7677
- });
7687
+ const indexOf = stateChangeCallbacks.indexOf(callback);
7688
+ if (indexOf !== -1) {
7689
+ stateChangeCallbacks.splice(indexOf, 1);
7690
+ }
7678
7691
  },
7679
7692
 
7680
7693
  /**
@@ -7693,9 +7706,10 @@ function BigscreenPlayer () {
7693
7706
  * @param {Function} callback
7694
7707
  */
7695
7708
  unregisterForTimeUpdates: (callback) => {
7696
- timeUpdateCallbacks = timeUpdateCallbacks.filter(function (existingCallback) {
7697
- return callback !== existingCallback
7698
- });
7709
+ const indexOf = timeUpdateCallbacks.indexOf(callback);
7710
+ if (indexOf !== -1) {
7711
+ timeUpdateCallbacks.splice(indexOf, 1);
7712
+ }
7699
7713
  },
7700
7714
 
7701
7715
  /**
@@ -7714,9 +7728,10 @@ function BigscreenPlayer () {
7714
7728
  * @param {Function} callback
7715
7729
  */
7716
7730
  unregisterForSubtitleChanges: (callback) => {
7717
- subtitleCallbacks = subtitleCallbacks.filter(function (existingCallback) {
7718
- return callback !== existingCallback
7719
- });
7731
+ const indexOf = subtitleCallbacks.indexOf(callback);
7732
+ if (indexOf !== -1) {
7733
+ subtitleCallbacks.splice(indexOf, 1);
7734
+ }
7720
7735
  },
7721
7736
 
7722
7737
  /**
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-d83db168.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-61b49de6.js';
@@ -1,4 +1,4 @@
1
- import { U as Utils, D as DOMHelpers, W as WindowTypes, c as LiveSupport, M as MediaState, a as DebugTool, P as Plugins, d as MediaKinds, b as TimeUtils, e as DynamicWindowUtils } from './main-d83db168.js';
1
+ import { U as Utils, D as DOMHelpers, W as WindowTypes, c as LiveSupport, M as MediaState, a as DebugTool, P as Plugins, d as MediaKinds, b as TimeUtils, e as DynamicWindowUtils } from './main-61b49de6.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.6.0",
3
+ "version": "5.6.2",
4
4
  "description": "Simplified media playback for bigscreen devices.",
5
5
  "main": "dist/esm/main.js",
6
6
  "browser": "dist/esm/main.js",
@@ -57,7 +57,7 @@
57
57
  "rollup-plugin-visualizer": "^5.5.2"
58
58
  },
59
59
  "dependencies": {
60
- "dashjs": "github:bbc/dash.js#smp-v3.2.0-5",
60
+ "dashjs": "github:bbc/dash.js#smp-v3.2.0-8",
61
61
  "smp-imsc": "github:bbc/imscJS#v1.0.3"
62
62
  },
63
63
  "repository": {