bigscreen-player 8.0.3 → 8.1.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 { f as findSegmentTemplate, L as LoadUrl, a as DebugToolInstance, P as Plugins, U as Utils, D as DOMHelpers } from './main-fb8a41ef.js';
2
+ import { f as findSegmentTemplate, L as LoadUrl, a as DebugToolInstance, P as Plugins, U as Utils, D as DOMHelpers } from './main-5a50cb54.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-fb8a41ef.js';
1
+ import { D as DOMHelpers, a as DebugToolInstance, P as Plugins, L as LoadUrl, T as TransportControlPosition } from './main-5a50cb54.js';
2
2
 
3
3
  /**
4
4
  * Safely checks if an attribute exists on an element.
@@ -267,6 +267,7 @@ var Plugins = {
267
267
  onSubtitlesRenderError: (evt) => callOnAllPlugins("onSubtitlesRenderError", evt),
268
268
  onSubtitlesDynamicLoadError: (evt) => callOnAllPlugins("onSubtitlesDynamicLoadError", evt),
269
269
  onFragmentContentLengthMismatch: (evt) => callOnAllPlugins("onFragmentContentLengthMismatch", evt),
270
+ onQuotaExceeded: (evt) => callOnAllPlugins("onQuotaExceeded", evt),
270
271
  },
271
272
  };
272
273
 
@@ -5796,7 +5797,7 @@ BasicStrategy.getLiveSupport = () => LiveSupport.SEEKABLE;
5796
5797
  function StrategyPicker() {
5797
5798
  return new Promise((resolve, reject) => {
5798
5799
  if (window.bigscreenPlayer.playbackStrategy === PlaybackStrategy.MSE) {
5799
- return import('./msestrategy-b0ecd06a.js')
5800
+ return import('./msestrategy-6686009c.js')
5800
5801
  .then(({ default: MSEStrategy }) => resolve(MSEStrategy))
5801
5802
  .catch(() => {
5802
5803
  reject({ error: "strategyDynamicLoadError" });
@@ -6245,7 +6246,7 @@ function CallCallbacks(callbacks, data) {
6245
6246
  }
6246
6247
  }
6247
6248
 
6248
- var version = "8.0.3";
6249
+ var version = "8.1.0";
6249
6250
 
6250
6251
  var sourceList;
6251
6252
  var source;
@@ -7637,7 +7638,7 @@ function Subtitles(mediaPlayer, autoStart, playbackElement, defaultStyleOpts, me
7637
7638
 
7638
7639
  if (available()) {
7639
7640
  if (useLegacySubs) {
7640
- import('./legacysubtitles-d69d7156.js')
7641
+ import('./legacysubtitles-458efe63.js')
7641
7642
  .then(({ default: LegacySubtitles }) => {
7642
7643
  subtitlesContainer = LegacySubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7643
7644
  callback(subtitlesEnabled);
@@ -7646,7 +7647,7 @@ function Subtitles(mediaPlayer, autoStart, playbackElement, defaultStyleOpts, me
7646
7647
  Plugins.interface.onSubtitlesDynamicLoadError();
7647
7648
  });
7648
7649
  } else {
7649
- import('./imscsubtitles-ce7eae7c.js')
7650
+ import('./imscsubtitles-5ee33ae8.js')
7650
7651
  .then(({ default: IMSCSubtitles }) => {
7651
7652
  subtitlesContainer = IMSCSubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7652
7653
  callback(subtitlesEnabled);
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-fb8a41ef.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-5a50cb54.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, M as MediaState, a as DebugToolInstance, P as Plugins, c as MediaKinds, d as TimeUtils, e as DynamicWindowUtils } from './main-fb8a41ef.js';
2
+ 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-5a50cb54.js';
3
3
 
4
4
  function filter(manifest, representationOptions) {
5
5
  const constantFps = representationOptions.constantFps;
@@ -238,6 +238,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
238
238
  METRIC_CHANGED: "metricChanged",
239
239
  STREAM_INITIALIZED: "streamInitialized",
240
240
  FRAGMENT_CONTENT_LENGTH_MISMATCH: "fragmentContentLengthMismatch",
241
+ QUOTA_EXCEEDED: "quotaExceeded",
241
242
  };
242
243
 
243
244
  function onPlaying() {
@@ -328,6 +329,14 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
328
329
  publishError(event.error);
329
330
  }
330
331
 
332
+ function onQuotaExceeded(event) {
333
+ // Note: criticalBufferLevel (Total buffered ranges * 0.8) is set BEFORE this event is triggered,
334
+ // therefore it should actually be `criticalBufferLevel * 1.25` to see what the buffer size was on the device when this happened.
335
+ const bufferLevel = event.criticalBufferLevel * 1.25;
336
+ DebugToolInstance.info(`Quota Exceeded at: ${event.quotaExceededTime}, criticalBufferLevel: ${bufferLevel}`);
337
+ Plugins.interface.onQuotaExceeded({ criticalBufferLevel: bufferLevel, ...event.quotaExceededTime });
338
+ }
339
+
331
340
  function manifestDownloadError(mediaError) {
332
341
  const error = () => publishError(mediaError);
333
342
 
@@ -572,6 +581,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
572
581
  mediaPlayer.on(DashJSEvents.SERVICE_LOCATION_AVAILABLE, onServiceLocationAvailable);
573
582
  mediaPlayer.on(DashJSEvents.URL_RESOLUTION_FAILED, onURLResolutionFailed);
574
583
  mediaPlayer.on(DashJSEvents.FRAGMENT_CONTENT_LENGTH_MISMATCH, onFragmentContentLengthMismatch);
584
+ mediaPlayer.on(DashJSEvents.QUOTA_EXCEEDED, onQuotaExceeded);
575
585
  }
576
586
 
577
587
  function getSeekableRange() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigscreen-player",
3
- "version": "8.0.3",
3
+ "version": "8.1.0",
4
4
  "description": "Simplified media playback for bigscreen devices.",
5
5
  "main": "dist/esm/main.js",
6
6
  "browser": "dist/esm/main.js",