bigscreen-player 7.1.2 → 7.1.4

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-786c4f79.js';
2
+ import { f as findSegmentTemplate, L as LoadUrl, a as DebugToolInstance, P as Plugins, U as Utils, D as DOMHelpers } from './main-80542965.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-786c4f79.js';
1
+ import { D as DOMHelpers, a as DebugToolInstance, P as Plugins, L as LoadUrl, T as TransportControlPosition } from './main-80542965.js';
2
2
 
3
3
  /**
4
4
  * Safely checks if an attribute exists on an element.
@@ -5795,7 +5795,7 @@ BasicStrategy.getLiveSupport = () => LiveSupport.SEEKABLE;
5795
5795
  function StrategyPicker() {
5796
5796
  return new Promise((resolve, reject) => {
5797
5797
  if (window.bigscreenPlayer.playbackStrategy === PlaybackStrategy.MSE) {
5798
- return import('./msestrategy-c74884c1.js')
5798
+ return import('./msestrategy-88b92534.js')
5799
5799
  .then(({ default: MSEStrategy }) => resolve(MSEStrategy))
5800
5800
  .catch(() => {
5801
5801
  reject({ error: "strategyDynamicLoadError" });
@@ -6159,7 +6159,11 @@ function PlayerComponent(
6159
6159
  stateUpdateData.message = opts.message;
6160
6160
  }
6161
6161
 
6162
- _stateUpdateCallback(stateUpdateData);
6162
+ // guard against attempting to call _stateUpdateCallback after a tearDown
6163
+ // can happen if tearing down whilst an async cdn failover is being attempted
6164
+ if (_stateUpdateCallback) {
6165
+ _stateUpdateCallback(stateUpdateData);
6166
+ }
6163
6167
  }
6164
6168
 
6165
6169
  function loadMedia(type, startTime, thenPause) {
@@ -6240,7 +6244,7 @@ function CallCallbacks(callbacks, data) {
6240
6244
  }
6241
6245
  }
6242
6246
 
6243
- var version = "7.1.2";
6247
+ var version = "7.1.4";
6244
6248
 
6245
6249
  var sourceList;
6246
6250
  var source;
@@ -7632,7 +7636,7 @@ function Subtitles(mediaPlayer, autoStart, playbackElement, defaultStyleOpts, me
7632
7636
 
7633
7637
  if (available()) {
7634
7638
  if (useLegacySubs) {
7635
- import('./legacysubtitles-57538177.js')
7639
+ import('./legacysubtitles-d16b77e9.js')
7636
7640
  .then(({ default: LegacySubtitles }) => {
7637
7641
  subtitlesContainer = LegacySubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7638
7642
  callback(subtitlesEnabled);
@@ -7641,7 +7645,7 @@ function Subtitles(mediaPlayer, autoStart, playbackElement, defaultStyleOpts, me
7641
7645
  Plugins.interface.onSubtitlesDynamicLoadError();
7642
7646
  });
7643
7647
  } else {
7644
- import('./imscsubtitles-db803024.js')
7648
+ import('./imscsubtitles-6c92d7cf.js')
7645
7649
  .then(({ default: IMSCSubtitles }) => {
7646
7650
  subtitlesContainer = IMSCSubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7647
7651
  callback(subtitlesEnabled);
@@ -8055,17 +8059,29 @@ function BigscreenPlayer() {
8055
8059
  }
8056
8060
  },
8057
8061
 
8062
+ /**
8063
+ * Set the media element playback rate
8064
+ *
8065
+ * @function
8066
+ * @param {Number} rate
8067
+ */
8058
8068
  setPlaybackRate: (rate) => {
8059
8069
  if (playerComponent) {
8060
8070
  playerComponent.setPlaybackRate(rate);
8061
8071
  }
8062
8072
  },
8063
8073
 
8074
+ /**
8075
+ * Get the current playback rate
8076
+ * @function
8077
+ * @returns {Number} the current media playback rate
8078
+ */
8064
8079
  getPlaybackRate: () => playerComponent && playerComponent.getPlaybackRate(),
8065
8080
 
8066
8081
  /**
8067
8082
  * Returns the media asset's current time in seconds.
8068
8083
  * @function
8084
+ * @returns {Number}
8069
8085
  */
8070
8086
  getCurrentTime: () => (playerComponent && playerComponent.getCurrentTime()) || 0,
8071
8087
 
@@ -8158,11 +8174,25 @@ function BigscreenPlayer() {
8158
8174
  playerComponent.pause(opts);
8159
8175
  },
8160
8176
 
8177
+ /**
8178
+ * Resize the video container div in the most compatible way
8179
+ *
8180
+ * @function
8181
+ * @param {Number} top - px
8182
+ * @param {Number} left - px
8183
+ * @param {Number} width - px
8184
+ * @param {Number} height - px
8185
+ * @param {Number} zIndex
8186
+ */
8161
8187
  resize: (top, left, width, height, zIndex) => {
8162
8188
  subtitles.hide();
8163
8189
  resizer.resize(playbackElement, top, left, width, height, zIndex);
8164
8190
  },
8165
8191
 
8192
+ /**
8193
+ * Clear any resize properties added with `resize`
8194
+ * @function
8195
+ */
8166
8196
  clearResize: () => {
8167
8197
  if (subtitles.enabled()) {
8168
8198
  subtitles.show();
@@ -8191,21 +8221,41 @@ function BigscreenPlayer() {
8191
8221
  */
8192
8222
  isSubtitlesAvailable,
8193
8223
 
8224
+ /**
8225
+ * Returns if a device supports the customisation of subtitles
8226
+ *
8227
+ * @returns boolean
8228
+ */
8194
8229
  areSubtitlesCustomisable: () =>
8195
8230
  !(window.bigscreenPlayer && window.bigscreenPlayer.overrides && window.bigscreenPlayer.overrides.legacySubtitles),
8196
8231
 
8232
+ /**
8233
+ * Customise the rendered subitles style
8234
+ *
8235
+ * @param {SubtitlesCustomisationOptions} styleOpts
8236
+ */
8197
8237
  customiseSubtitles: (styleOpts) => {
8198
8238
  if (subtitles) {
8199
8239
  subtitles.customise(styleOpts);
8200
8240
  }
8201
8241
  },
8202
8242
 
8243
+ /**
8244
+ * Render an example subtitles string with a given style and location
8245
+ *
8246
+ * @param {String} xmlString - EBU-TT-D compliant XML String
8247
+ * @param {SubtitlesCustomisationOptions} styleOpts - {@link SubtitlesCustomisationOptions}
8248
+ * @param {SubtitlesSafePosition} safePosition - {@link SubtitlesSafePosition}
8249
+ */
8203
8250
  renderSubtitleExample: (xmlString, styleOpts, safePosition) => {
8204
8251
  if (subtitles) {
8205
8252
  subtitles.renderExample(xmlString, styleOpts, safePosition);
8206
8253
  }
8207
8254
  },
8208
8255
 
8256
+ /**
8257
+ * Clear the example subtitle string
8258
+ */
8209
8259
  clearSubtitleExample: () => {
8210
8260
  if (subtitles) {
8211
8261
  subtitles.clearExample();
package/dist/esm/main.js CHANGED
@@ -1 +1 @@
1
- export { B as BigscreenPlayer, 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 } from './main-786c4f79.js';
1
+ export { B as BigscreenPlayer, 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 } from './main-80542965.js';
@@ -1,4 +1,4 @@
1
- import { W as WindowTypes, U as Utils, D as DOMHelpers, b as LiveSupport, M as MediaState, a as DebugToolInstance, P as Plugins, c as MediaKinds, d as TimeUtils, e as DynamicWindowUtils } from './main-786c4f79.js';
1
+ import { W as WindowTypes, U as Utils, D as DOMHelpers, b as LiveSupport, M as MediaState, a as DebugToolInstance, P as Plugins, c as MediaKinds, d as TimeUtils, e as DynamicWindowUtils } from './main-80542965.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": "7.1.2",
3
+ "version": "7.1.4",
4
4
  "description": "Simplified media playback for bigscreen devices.",
5
5
  "main": "dist/esm/main.js",
6
6
  "browser": "dist/esm/main.js",