bigscreen-player 10.9.0 → 10.10.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 { U as Utils, a as DebugTool, P as Plugins, D as DOMHelpers } from './main-d017b2de.js';
2
+ import { U as Utils, a as DebugTool, P as Plugins, D as DOMHelpers } from './main-fddfacb4.js';
3
3
  import 'tslib';
4
4
 
5
5
  function EmbeddedSubtitles(mediaPlayer, autoStart, parentElement, _mediaSources, defaultStyleOpts) {
@@ -1,5 +1,5 @@
1
1
  import { fromXML, generateISD, renderHTML } from 'smp-imsc';
2
- import { f as findSegmentTemplate, L as LoadUrl, a as DebugTool, P as Plugins, U as Utils, D as DOMHelpers } from './main-d017b2de.js';
2
+ import { f as findSegmentTemplate, L as LoadUrl, a as DebugTool, P as Plugins, U as Utils, D as DOMHelpers } from './main-fddfacb4.js';
3
3
  import 'tslib';
4
4
 
5
5
  const SEGMENTS_BUFFER_SIZE = 3;
@@ -1,4 +1,4 @@
1
- import { D as DOMHelpers, a as DebugTool, P as Plugins, L as LoadUrl, T as TransportControlPosition } from './main-d017b2de.js';
1
+ import { D as DOMHelpers, a as DebugTool, P as Plugins, L as LoadUrl, T as TransportControlPosition } from './main-fddfacb4.js';
2
2
  import 'tslib';
3
3
 
4
4
  /**
@@ -5710,7 +5710,7 @@ BasicStrategy.getLiveSupport = () => LiveSupport.SEEKABLE;
5710
5710
  function StrategyPicker() {
5711
5711
  return new Promise((resolve, reject) => {
5712
5712
  if (window.bigscreenPlayer.playbackStrategy === PlaybackStrategy.MSE) {
5713
- return import('./msestrategy-2c72248d.js')
5713
+ return import('./msestrategy-9ad78747.js')
5714
5714
  .then(({ default: MSEStrategy }) => resolve(MSEStrategy))
5715
5715
  .catch((reason) => {
5716
5716
  const error = new Error(isError(reason) ? reason.message : undefined);
@@ -6016,6 +6016,7 @@ var Plugins = {
6016
6016
  onFragmentContentLengthMismatch: (evt) => callOnAllPlugins("onFragmentContentLengthMismatch", evt),
6017
6017
  onQuotaExceeded: (evt) => callOnAllPlugins("onQuotaExceeded", evt),
6018
6018
  onPlaybackRateChanged: (evt) => callOnAllPlugins("onPlaybackRateChanged", evt),
6019
+ onPlaybackFrozen: (evt) => callOnAllPlugins("onPlaybackFrozen", evt),
6019
6020
  },
6020
6021
  };
6021
6022
 
@@ -6498,7 +6499,7 @@ const PauseTriggers = {
6498
6499
  DEVICE: 3,
6499
6500
  };
6500
6501
 
6501
- var Version = "10.9.0";
6502
+ var Version = "10.10.0";
6502
6503
 
6503
6504
  /* eslint-disable no-use-before-define */
6504
6505
 
@@ -7684,7 +7685,7 @@ function Subtitles(mediaPlayer, autoStart, playbackElement, defaultStyleOpts, me
7684
7685
 
7685
7686
  if (available()) {
7686
7687
  if (useLegacySubs) {
7687
- import('./legacysubtitles-e4148847.js')
7688
+ import('./legacysubtitles-f5474c24.js')
7688
7689
  .then(({ default: LegacySubtitles }) => {
7689
7690
  subtitlesContainer = LegacySubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7690
7691
  callback(subtitlesEnabled);
@@ -7693,7 +7694,7 @@ function Subtitles(mediaPlayer, autoStart, playbackElement, defaultStyleOpts, me
7693
7694
  Plugins.interface.onSubtitlesDynamicLoadError();
7694
7695
  });
7695
7696
  } else if (embeddedSubs) {
7696
- import('./embeddedsubtitles-66f62312.js')
7697
+ import('./embeddedsubtitles-d785ea5b.js')
7697
7698
  .then(({ default: EmbeddedSubtitles }) => {
7698
7699
  subtitlesContainer = EmbeddedSubtitles(
7699
7700
  mediaPlayer,
@@ -7708,7 +7709,7 @@ function Subtitles(mediaPlayer, autoStart, playbackElement, defaultStyleOpts, me
7708
7709
  Plugins.interface.onSubtitlesDynamicLoadError();
7709
7710
  });
7710
7711
  } else {
7711
- import('./imscsubtitles-f8638d1e.js')
7712
+ import('./imscsubtitles-22c3a63c.js')
7712
7713
  .then(({ default: IMSCSubtitles }) => {
7713
7714
  subtitlesContainer = IMSCSubtitles(mediaPlayer, autoStart, playbackElement, mediaSources, defaultStyleOpts);
7714
7715
  callback(subtitlesEnabled);
package/dist/esm/main.js CHANGED
@@ -1,2 +1,2 @@
1
- export { B as BigscreenPlayer, a as DebugTool, E as EntryCategory, b as LiveSupport, c as ManifestType, M as MediaKinds, d as MediaState, g as MockBigscreenPlayer, h as PauseTriggers, i as PlaybackStrategy, k as Timeline, j as TransferFormat, T as TransportControlPosition, W as WindowTypes, l as isMessage, m as isMetric, n as isTrace } from './main-d017b2de.js';
1
+ export { B as BigscreenPlayer, a as DebugTool, E as EntryCategory, b as LiveSupport, c as ManifestType, M as MediaKinds, d as MediaState, g as MockBigscreenPlayer, h as PauseTriggers, i as PlaybackStrategy, k as Timeline, j as TransferFormat, T as TransportControlPosition, W as WindowTypes, l as isMessage, m as isMetric, n as isTrace } from './main-fddfacb4.js';
2
2
  import 'tslib';
@@ -1,5 +1,5 @@
1
1
  import { MediaPlayer } from 'dashjs/index';
2
- import { U as Utils, M as MediaKinds, b as LiveSupport, a as DebugTool, P as Plugins, c as ManifestType, d as MediaState, e as autoResumeAtStartOfRange, D as DOMHelpers } from './main-d017b2de.js';
2
+ import { U as Utils, M as MediaKinds, b as LiveSupport, a as DebugTool, c as ManifestType, P as Plugins, d as MediaState, e as autoResumeAtStartOfRange, D as DOMHelpers } from './main-fddfacb4.js';
3
3
  import 'tslib';
4
4
 
5
5
  function filter(manifest, representationOptions) {
@@ -225,7 +225,7 @@ function MSEStrategy(
225
225
  QUOTA_EXCEEDED: "quotaExceeded",
226
226
  TEXT_TRACKS_ADDED: "allTextTracksAdded",
227
227
  CURRENT_TRACK_CHANGED: "currentTrackChanged",
228
- PLAYBACK_RATE_CHANGED: "playbackRateChanged",
228
+ PLAYBACK_FROZEN: "playbackFrozen",
229
229
  };
230
230
 
231
231
  function onLoadedMetaData() {
@@ -312,6 +312,7 @@ function MSEStrategy(
312
312
  }
313
313
 
314
314
  function onRateChange() {
315
+ Plugins.interface.onPlaybackRateChanged({ playbackRate: mediaElement.playbackRate });
315
316
  DebugTool.dynamicMetric("playback-rate", mediaElement.playbackRate);
316
317
  }
317
318
 
@@ -435,13 +436,15 @@ function MSEStrategy(
435
436
  mediaPlayer.setMediaDuration(Number.MAX_SAFE_INTEGER);
436
437
  }
437
438
 
438
- if (mediaKind === MediaKinds.VIDEO) {
439
+ if (mediaPlayer.getActiveStream()?.getHasVideoTrack()) {
439
440
  dispatchDownloadQualityChangeForKind(MediaKinds.VIDEO);
440
441
  dispatchMaxQualityChangeForKind(MediaKinds.VIDEO);
441
442
  }
442
443
 
443
- dispatchMaxQualityChangeForKind(MediaKinds.AUDIO);
444
- dispatchDownloadQualityChangeForKind(MediaKinds.AUDIO);
444
+ if (mediaPlayer.getActiveStream()?.getHasAudioTrack()) {
445
+ dispatchMaxQualityChangeForKind(MediaKinds.AUDIO);
446
+ dispatchDownloadQualityChangeForKind(MediaKinds.AUDIO);
447
+ }
445
448
 
446
449
  emitPlayerInfo();
447
450
  }
@@ -809,11 +812,7 @@ function MSEStrategy(
809
812
  mediaPlayer.on(DashJSEvents.TEXT_TRACKS_ADDED, handleTextTracks);
810
813
  mediaPlayer.on(DashJSEvents.MANIFEST_LOADING_FINISHED, manifestLoadingFinished);
811
814
  mediaPlayer.on(DashJSEvents.CURRENT_TRACK_CHANGED, onCurrentTrackChanged);
812
- mediaPlayer.on(DashJSEvents.PLAYBACK_RATE_CHANGED, onPlaybackRateChanged);
813
- }
814
-
815
- function onPlaybackRateChanged(event) {
816
- Plugins.interface.onPlaybackRateChanged(event);
815
+ mediaPlayer.on(DashJSEvents.PLAYBACK_FROZEN, onPlaybackFrozen);
817
816
  }
818
817
 
819
818
  function handleTextTracks() {
@@ -1002,7 +1001,7 @@ function MSEStrategy(
1002
1001
  mediaPlayer.off(DashJSEvents.GAP_JUMP_TO_END, onGapJump);
1003
1002
  mediaPlayer.off(DashJSEvents.QUOTA_EXCEEDED, onQuotaExceeded);
1004
1003
  mediaPlayer.off(DashJSEvents.CURRENT_TRACK_CHANGED, onCurrentTrackChanged);
1005
- mediaPlayer.off(DashJSEvents.PLAYBACK_RATE_CHANGED, onPlaybackRateChanged);
1004
+ mediaPlayer.off(DashJSEvents.PLAYBACK_FROZEN, onPlaybackFrozen);
1006
1005
  mediaPlayer = undefined;
1007
1006
  }
1008
1007
 
@@ -1123,6 +1122,11 @@ function MSEStrategy(
1123
1122
  });
1124
1123
  }
1125
1124
 
1125
+ function onPlaybackFrozen(event) {
1126
+ Plugins.interface.onPlaybackFrozen(event);
1127
+ DebugTool.error(`${event.cause}. Total frames - ${event.totalVideoFrames}`);
1128
+ }
1129
+
1126
1130
  return {
1127
1131
  transitions: {
1128
1132
  canBePaused: () => true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigscreen-player",
3
- "version": "10.9.0",
3
+ "version": "10.10.0",
4
4
  "type": "module",
5
5
  "description": "Simplified media playback for bigscreen devices.",
6
6
  "main": "dist/esm/main.js",
@@ -64,7 +64,7 @@
64
64
  "typescript-eslint": "^7.2.0"
65
65
  },
66
66
  "dependencies": {
67
- "dashjs": "github:bbc/dash.js#smp-v4.7.3-8",
67
+ "dashjs": "github:bbc/dash.js#smp-v4.7.3-9",
68
68
  "smp-imsc": "github:bbc/imscJS#v1.0.3"
69
69
  },
70
70
  "repository": {