@gcorevideo/player 2.3.1 → 2.4.1

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.
package/dist/index.js CHANGED
@@ -12218,7 +12218,7 @@ const DASHJS = /*@__PURE__*/getDefaultExportFromCjs$1(dash_all_minExports);
12218
12218
  // license that can be found in the LICENSE file.
12219
12219
  const AUTO$1 = -1;
12220
12220
  const { now: now$2 } = Utils;
12221
- const T$2 = "DashPlayback";
12221
+ const T$2 = 'DashPlayback';
12222
12222
  class DashPlayback extends HTML5Video {
12223
12223
  _levels = null;
12224
12224
  _currentLevel = null;
@@ -12270,8 +12270,8 @@ class DashPlayback extends HTML5Video {
12270
12270
  autoSwitchBitrate: {
12271
12271
  video: id === -1,
12272
12272
  },
12273
- ABRStrategy: 'abrL2A'
12274
- }
12273
+ ABRStrategy: 'abrL2A',
12274
+ },
12275
12275
  },
12276
12276
  };
12277
12277
  assert.ok(this._dash, 'An instance of dashjs MediaPlayer is required to switch levels');
@@ -12292,7 +12292,8 @@ class DashPlayback extends HTML5Video {
12292
12292
  }
12293
12293
  }
12294
12294
  get _startTime() {
12295
- if (this._playbackType === Playback.LIVE && this._playlistType !== 'EVENT') {
12295
+ if (this._playbackType === Playback.LIVE &&
12296
+ this._playlistType !== 'EVENT') {
12296
12297
  return this._extrapolatedStartTime;
12297
12298
  }
12298
12299
  return this._playableRegionStartTime;
@@ -12338,7 +12339,8 @@ class DashPlayback extends HTML5Video {
12338
12339
  // Should be 2 or higher, or 0 to disable. Should only need to be increased above 2 if more than one segment is
12339
12340
  // removed from the start of the playlist at a time. E.g if the playlist is cached for 10 seconds and new chunks are
12340
12341
  // added/removed every 5.
12341
- this._extrapolatedWindowNumSegments = this.options.playback?.extrapolatedWindowNumSegments ?? 2;
12342
+ this._extrapolatedWindowNumSegments =
12343
+ this.options.playback?.extrapolatedWindowNumSegments ?? 2;
12342
12344
  if (this.options.playbackType) {
12343
12345
  this._playbackType = this.options.playbackType;
12344
12346
  }
@@ -12403,7 +12405,8 @@ class DashPlayback extends HTML5Video {
12403
12405
  });
12404
12406
  this._dash.on(DASHJS.MediaPlayer.events.METRIC_ADDED, (e) => {
12405
12407
  // Listen for the first manifest request in order to update player UI
12406
- if (e.metric === 'DVRInfo') { // TODO fix typings
12408
+ if (e.metric === 'DVRInfo') {
12409
+ // TODO fix typings
12407
12410
  assert.ok(this._dash, 'An instance of dashjs MediaPlayer is required to get metrics');
12408
12411
  const dvrInfo = this._dash.getDashMetrics().getCurrentDVRInfo('video');
12409
12412
  if (dvrInfo) {
@@ -12508,7 +12511,7 @@ class DashPlayback extends HTML5Video {
12508
12511
  }
12509
12512
  _updateDvr(status) {
12510
12513
  this.trigger(Events$1.PLAYBACK_DVR, status);
12511
- this.trigger(Events$1.PLAYBACK_STATS_ADD, { 'dvr': status });
12514
+ this.trigger(Events$1.PLAYBACK_STATS_ADD, { dvr: status });
12512
12515
  }
12513
12516
  _updateSettings() {
12514
12517
  if (this._playbackType === Playback.VOD) {
@@ -12539,19 +12542,19 @@ class DashPlayback extends HTML5Video {
12539
12542
  Log.error('The media cannot be played because it requires a feature ' +
12540
12543
  'that your browser does not support.');
12541
12544
  }
12542
- else if (event.error === 'manifestError' && (
12543
- // Manifest type not supported
12544
- (event.event.id === 'createParser') ||
12545
- // Codec(s) not supported
12546
- (event.event.id === 'codec') ||
12547
- // No streams available to stream
12548
- (event.event.id === 'nostreams') ||
12549
- // Error creating Stream object
12550
- (event.event.id === 'nostreamscomposed') ||
12551
- // syntax error parsing the manifest
12552
- (event.event.id === 'parse') ||
12553
- // a stream has multiplexed audio+video
12554
- (event.event.id === 'multiplexedrep'))) {
12545
+ else if (event.error === 'manifestError' &&
12546
+ // Manifest type not supported
12547
+ (event.event.id === 'createParser' ||
12548
+ // Codec(s) not supported
12549
+ event.event.id === 'codec' ||
12550
+ // No streams available to stream
12551
+ event.event.id === 'nostreams' ||
12552
+ // Error creating Stream object
12553
+ event.event.id === 'nostreamscomposed' ||
12554
+ // syntax error parsing the manifest
12555
+ event.event.id === 'parse' ||
12556
+ // a stream has multiplexed audio+video
12557
+ event.event.id === 'multiplexedrep')) {
12555
12558
  // These errors have useful error messages, so we forward it on
12556
12559
  const formattedError = this.createError(event.error);
12557
12560
  this.trigger(Events$1.PLAYBACK_ERROR, formattedError);
@@ -12570,7 +12573,8 @@ class DashPlayback extends HTML5Video {
12570
12573
  this.trigger(Events$1.PLAYBACK_ERROR, formattedError);
12571
12574
  Log.error(event.event);
12572
12575
  }
12573
- else if (event.error === 'capability' && event.event === 'encryptedmedia') {
12576
+ else if (event.error === 'capability' &&
12577
+ event.event === 'encryptedmedia') {
12574
12578
  // Browser doesn't support EME
12575
12579
  const formattedError = this.createError(event.error);
12576
12580
  this.trigger(Events$1.PLAYBACK_ERROR, formattedError);
@@ -12598,7 +12602,7 @@ class DashPlayback extends HTML5Video {
12598
12602
  }
12599
12603
  else {
12600
12604
  // ignore the error
12601
- if (typeof event.error === "object") {
12605
+ if (typeof event.error === 'object') {
12602
12606
  const formattedError = this.createError(event.error);
12603
12607
  this.trigger(Events$1.PLAYBACK_ERROR, formattedError);
12604
12608
  Log.error(event.error.message);
@@ -12622,10 +12626,11 @@ class DashPlayback extends HTML5Video {
12622
12626
  const update = {
12623
12627
  current: this.getCurrentTime(),
12624
12628
  total: this.getDuration(),
12625
- firstFragDateTime: this.getProgramDateTime()
12629
+ firstFragDateTime: this.getProgramDateTime(),
12626
12630
  };
12627
- const isSame = this._lastTimeUpdate && (update.current === this._lastTimeUpdate.current &&
12628
- update.total === this._lastTimeUpdate.total);
12631
+ const isSame = this._lastTimeUpdate &&
12632
+ update.current === this._lastTimeUpdate.current &&
12633
+ update.total === this._lastTimeUpdate.total;
12629
12634
  if (isSame) {
12630
12635
  return;
12631
12636
  }
@@ -12642,7 +12647,8 @@ class DashPlayback extends HTML5Video {
12642
12647
  }
12643
12648
  get dvrEnabled() {
12644
12649
  assert.ok(this._dash, 'An instance of dashjs MediaPlayer is required to get the DVR status');
12645
- return this._dash?.getDVRWindowSize() >= this._minDvrSize && this.getPlaybackType() === Playback.LIVE;
12650
+ return (this._dash?.getDVRWindowSize() >= this._minDvrSize &&
12651
+ this.getPlaybackType() === Playback.LIVE);
12646
12652
  }
12647
12653
  _onProgress() {
12648
12654
  if (!this._dash) {
@@ -12655,7 +12661,7 @@ class DashPlayback extends HTML5Video {
12655
12661
  const progress = {
12656
12662
  start: this.getCurrentTime(),
12657
12663
  current: this.getCurrentTime() + buffer,
12658
- total: this.getDuration()
12664
+ total: this.getDuration(),
12659
12665
  };
12660
12666
  this.trigger(Events$1.PLAYBACK_PROGRESS, progress, {});
12661
12667
  }
@@ -12836,23 +12842,35 @@ class DashPlayback extends HTML5Video {
12836
12842
  height: currentLevel.height,
12837
12843
  width: currentLevel.width,
12838
12844
  bitrate: currentLevel.bitrate,
12839
- level: currentLevel.qualityIndex
12845
+ level: currentLevel.qualityIndex,
12840
12846
  });
12841
12847
  }
12842
12848
  getPlaybackType() {
12843
12849
  return this._playbackType;
12844
12850
  }
12845
12851
  isSeekEnabled() {
12846
- return (this._playbackType === Playback.VOD || this.dvrEnabled);
12852
+ return this._playbackType === Playback.VOD || this.dvrEnabled;
12847
12853
  }
12848
12854
  }
12849
12855
  DashPlayback.canPlay = function (resource, mimeType) {
12850
12856
  const resourceParts = resource.split('?')[0].match(/.*\.(.*)$/) || [];
12851
- const isDash = ((resourceParts.length > 1 && resourceParts[1].toLowerCase() === 'mpd') ||
12852
- mimeType === 'application/dash+xml' || mimeType === 'video/mp4');
12853
- const ctor = window.MediaSource || ('WebKitMediaSource' in window ? window.WebKitMediaSource : undefined);
12857
+ const isDash = (resourceParts.length > 1 && resourceParts[1].toLowerCase() === 'mpd') ||
12858
+ mimeType === 'application/dash+xml' ||
12859
+ mimeType === 'video/mp4';
12860
+ // TODO check
12861
+ const ms = window.MediaSource;
12862
+ const mms = 'ManagedMediaSource' in window ? window.ManagedMediaSource : undefined;
12863
+ const wms = 'WebKitMediaSource' in window ? window.WebKitMediaSource : undefined;
12864
+ const ctor = ms || mms || wms;
12854
12865
  const hasSupport = typeof ctor === 'function';
12855
- trace(`${T$2} canPlay`, { hasSupport, isDash, resource });
12866
+ trace(`${T$2} canPlay`, {
12867
+ hasSupport,
12868
+ isDash,
12869
+ resource,
12870
+ ms: typeof ms === 'function',
12871
+ mms: typeof mms === 'function',
12872
+ wms: typeof wms === 'function',
12873
+ });
12856
12874
  return !!(hasSupport && isDash);
12857
12875
  };
12858
12876
 
@@ -42187,18 +42205,91 @@ HlsPlayback.canPlay = function (resource, mimeType) {
42187
42205
  return !!(hasSupport && isHls);
42188
42206
  };
42189
42207
 
42208
+ function buildSourcesSet(sources) {
42209
+ const sv = {
42210
+ dash: null,
42211
+ master: null,
42212
+ hls: null,
42213
+ mpegts: null,
42214
+ };
42215
+ sources.forEach((ps) => {
42216
+ const [s, t] = typeof ps === 'string' ? [ps, ''] : [ps.source, ps.mimeType];
42217
+ if (DashPlayback.canPlay(s, t)) {
42218
+ sv.dash = s;
42219
+ }
42220
+ else if (HlsPlayback.canPlay(s, t)) {
42221
+ sv.hls = s;
42222
+ }
42223
+ else {
42224
+ sv.master = s;
42225
+ }
42226
+ });
42227
+ return sv;
42228
+ }
42229
+ function buildSourcesPriorityList(sources, priorityTransport = 'auto') {
42230
+ const msl = [];
42231
+ switch (priorityTransport) {
42232
+ case 'dash':
42233
+ addDash();
42234
+ break;
42235
+ case 'hls':
42236
+ addHls();
42237
+ break;
42238
+ case 'mpegts':
42239
+ addMpegts();
42240
+ break;
42241
+ case 'auto':
42242
+ addDash();
42243
+ addHls();
42244
+ break;
42245
+ }
42246
+ Object.values(sources).forEach((s) => {
42247
+ if (s) {
42248
+ msl.push(s);
42249
+ }
42250
+ });
42251
+ return msl;
42252
+ function addMpegts() {
42253
+ if (sources.mpegts) {
42254
+ msl.push(sources.mpegts);
42255
+ sources.mpegts = null;
42256
+ }
42257
+ }
42258
+ function addHls() {
42259
+ if (sources.hls && HlsPlayback.canPlay(sources.hls)) {
42260
+ msl.push(sources.hls);
42261
+ sources.hls = null;
42262
+ }
42263
+ if (sources.master?.endsWith('.m3u8') &&
42264
+ HlsPlayback.canPlay(sources.master)) {
42265
+ msl.push(sources.master);
42266
+ sources.master = null;
42267
+ }
42268
+ }
42269
+ function addDash() {
42270
+ if (sources.dash && DashPlayback.canPlay(sources.dash)) {
42271
+ msl.push(sources.dash);
42272
+ sources.dash = null;
42273
+ }
42274
+ }
42275
+ }
42276
+ function unwrapSource(s) {
42277
+ return typeof s === 'string' ? s : s.source;
42278
+ }
42279
+
42190
42280
  const T = 'GPlayer';
42191
42281
  const DEFAULT_OPTIONS = {
42192
42282
  autoPlay: false,
42193
- mute: false,
42283
+ debug: 'none',
42194
42284
  loop: false,
42285
+ mute: false,
42195
42286
  multisources: [],
42196
42287
  playbackType: 'vod',
42197
- priorityTransport: 'dash',
42198
- debug: 'none',
42199
42288
  pluginSettings: {},
42200
- strings: {},
42201
42289
  poster: '',
42290
+ priorityTransport: 'dash',
42291
+ sources: [],
42292
+ strings: {},
42202
42293
  };
42203
42294
  /**
42204
42295
  * @beta
@@ -42353,7 +42444,6 @@ class Player {
42353
42444
  this.bindBitrateChangeHandler();
42354
42445
  }
42355
42446
  player.core.on(Events$1.CORE_ACTIVE_CONTAINER_CHANGED, () => {
42356
- // this.trigger(Events.ContainerChanged)
42357
42447
  this.bindBitrateChangeHandler();
42358
42448
  }, null);
42359
42449
  if (Browser.isiOS && player.core.activePlayback) {
@@ -42455,15 +42545,19 @@ class Player {
42455
42545
  },
42456
42546
  };
42457
42547
  buildCoreOptions(rootNode) {
42458
- const multisources = this.config.multisources;
42459
- const mainSource = this.config.playbackType === 'live'
42460
- ? multisources.find((ms) => ms.live !== false)
42461
- : multisources[0];
42462
- const mediaSources = mainSource
42463
- ? this.buildMediaSourcesList(mainSource)
42464
- : [];
42548
+ // TODO extract
42549
+ // const multisources = this.config.multisources
42550
+ // const mainSource =
42551
+ // this.config.playbackType === 'live'
42552
+ // ? multisources.find((ms) => ms.live !== false)
42553
+ // : multisources[0]
42554
+ // const mediaSources = mainSource
42555
+ // ? this.buildMediaSourcesList(mainSource)
42556
+ // : []
42465
42557
  // const mainSourceUrl = mediaSources[0];
42466
- const poster = mainSource?.poster ?? this.config.poster;
42558
+ // const poster = mainSource?.poster ?? this.config.poster
42559
+ const poster = this.config.poster;
42560
+ const source = this.selectMediaSource(); // TODO
42467
42561
  this.rootNode = rootNode;
42468
42562
  const coreOptions = {
42469
42563
  ...this.config.pluginSettings,
@@ -42473,7 +42567,6 @@ class Player {
42473
42567
  events: this.events,
42474
42568
  height: rootNode.clientHeight,
42475
42569
  loop: this.config.loop,
42476
- multisources,
42477
42570
  mute: this.config.mute,
42478
42571
  playback: {
42479
42572
  controls: false,
@@ -42489,8 +42582,8 @@ class Player {
42489
42582
  playbackType: this.config.playbackType,
42490
42583
  poster,
42491
42584
  width: rootNode.clientWidth,
42492
- // source: mainSourceUrl,
42493
- sources: mediaSources,
42585
+ source: source ? unwrapSource(source) : undefined,
42586
+ // sources: mediaSources,
42494
42587
  strings: this.config.strings,
42495
42588
  };
42496
42589
  return coreOptions;
@@ -42505,58 +42598,9 @@ class Player {
42505
42598
  this.qLevel = bitrate;
42506
42599
  });
42507
42600
  }
42508
- buildMediaSourcesList(ms) {
42509
- const msl = [];
42510
- const sources = {
42511
- dash: ms.sourceDash,
42512
- master: ms.source,
42513
- hls: ms.hlsCmafUrl,
42514
- mpegts: ms.hlsMpegtsUrl,
42515
- };
42516
- switch (this.config.priorityTransport) {
42517
- case 'dash':
42518
- addDash();
42519
- break;
42520
- case 'hls':
42521
- addHls();
42522
- break;
42523
- case 'mpegts':
42524
- addMpegts();
42525
- break;
42526
- case 'auto':
42527
- addDash();
42528
- addHls();
42529
- break;
42530
- }
42531
- Object.values(sources).forEach((s) => {
42532
- if (s) {
42533
- msl.push(s);
42534
- }
42535
- });
42536
- return msl;
42537
- function addMpegts() {
42538
- if (sources.mpegts) {
42539
- msl.push(sources.mpegts);
42540
- sources.mpegts = null;
42541
- }
42542
- }
42543
- function addHls() {
42544
- if (sources.hls && HlsPlayback.canPlay(sources.hls)) {
42545
- msl.push(sources.hls);
42546
- sources.hls = null;
42547
- }
42548
- if (sources.master?.endsWith('.m3u8') &&
42549
- HlsPlayback.canPlay(sources.master)) {
42550
- msl.push(sources.master);
42551
- sources.master = null;
42552
- }
42553
- }
42554
- function addDash() {
42555
- if (sources.dash && DashPlayback.canPlay(sources.dash)) {
42556
- msl.push(sources.dash);
42557
- sources.dash = null;
42558
- }
42559
- }
42601
+ // Select a single source to play according to the priority transport and the modules support
42602
+ selectMediaSource() {
42603
+ return buildSourcesPriorityList(buildSourcesSet(this.config.sources), this.config.priorityTransport)[0];
42560
42604
  }
42561
42605
  }
42562
42606
 
@@ -42682,12 +42726,12 @@ class SentryTracer {
42682
42726
  }
42683
42727
  }
42684
42728
 
42685
- var version$1 = "2.3.1";
42729
+ var version$1 = "2.4.1";
42686
42730
 
42687
42731
  var packages = {
42688
42732
  "": {
42689
42733
  name: "@gcorevideo/player",
42690
- version: "2.3.1",
42734
+ version: "2.4.1",
42691
42735
  license: "Apache-2.0",
42692
42736
  dependencies: {
42693
42737
  "@clappr/core": "^0.11.3",
package/lib/Player.d.ts CHANGED
@@ -38,7 +38,7 @@ export declare class Player {
38
38
  private buildCoreOptions;
39
39
  private configurePlaybacks;
40
40
  private bindBitrateChangeHandler;
41
- private buildMediaSourcesList;
41
+ private selectMediaSource;
42
42
  }
43
43
  export {};
44
44
  //# sourceMappingURL=Player.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAEjB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQtD,KAAK,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,IAAI,CAAA;AAiB3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;AAItD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAgC;IAE9C,OAAO,CAAC,MAAM,CAAgC;IAE9C,OAAO,CAAC,OAAO,CAAkB;IAEjC,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,QAAQ,CAA2B;IAE3C,OAAO,CAAC,aAAa,CAA6C;IAElE,OAAO,CAAC,OAAO,CAAQ;IAEvB,IAAI,cAAc,IAAI,cAAc,GAAG,IAAI,CAY1C;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAKhC;IAED,IAAI,OAAO,IAAI,gBAAgB,GAAG,IAAI,CAErC;IAED,IAAI,EAAE,QAEL;IAED,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;gBAEW,MAAM,EAAE,YAAY;IAIhC,EAAE,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAIlE,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAInE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAIvC,OAAO,CAAC,SAAS;IAIX,IAAI,CAAC,aAAa,EAAE,WAAW;IAyBrC,OAAO;IAiBP,KAAK;IAKL,IAAI;IAKJ,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,IAAI;IAKJ,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY;IAI1C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;IAI5C,OAAO,CAAC,UAAU;YAqBJ,MAAM;IAgFpB,OAAO,CAAC,MAAM,CAgDb;IAED,OAAO,CAAC,gBAAgB;IA6CxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,qBAAqB;CA2D9B"}
1
+ {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAGjB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAOtD,KAAK,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,IAAI,CAAA;AAkB3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;AAItD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAgC;IAE9C,OAAO,CAAC,MAAM,CAAgC;IAE9C,OAAO,CAAC,OAAO,CAAkB;IAEjC,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,QAAQ,CAA2B;IAE3C,OAAO,CAAC,aAAa,CAA6C;IAElE,OAAO,CAAC,OAAO,CAAQ;IAEvB,IAAI,cAAc,IAAI,cAAc,GAAG,IAAI,CAY1C;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAKhC;IAED,IAAI,OAAO,IAAI,gBAAgB,GAAG,IAAI,CAErC;IAED,IAAI,EAAE,QAEL;IAED,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;gBAEW,MAAM,EAAE,YAAY;IAIhC,EAAE,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAIlE,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAInE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAIvC,OAAO,CAAC,SAAS;IAIX,IAAI,CAAC,aAAa,EAAE,WAAW;IAyBrC,OAAO;IAiBP,KAAK;IAKL,IAAI;IAKJ,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,IAAI;IAKJ,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY;IAI1C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;IAI5C,OAAO,CAAC,UAAU;YAqBJ,MAAM;IA+EpB,OAAO,CAAC,MAAM,CAgDb;IAED,OAAO,CAAC,gBAAgB;IAgDxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,iBAAiB;CAG1B"}
package/lib/Player.js CHANGED
@@ -5,18 +5,20 @@ import { reportError, trace } from './trace/index.js';
5
5
  import { PlayerEvent } from './types.js';
6
6
  import DashPlayback from './plugins/dash-playback/DashPlayback.js';
7
7
  import HlsPlayback from './plugins/hls-playback/HlsPlayback.js';
8
+ import { buildSourcesPriorityList, buildSourcesSet, unwrapSource } from './utils/mediaSources.js';
8
9
  const T = 'GPlayer';
9
10
  const DEFAULT_OPTIONS = {
10
11
  autoPlay: false,
11
- mute: false,
12
+ debug: 'none',
12
13
  loop: false,
14
+ mute: false,
13
15
  multisources: [],
14
16
  playbackType: 'vod',
15
- priorityTransport: 'dash',
16
- debug: 'none',
17
17
  pluginSettings: {},
18
- strings: {},
19
18
  poster: '',
19
+ priorityTransport: 'dash',
20
+ sources: [],
21
+ strings: {},
20
22
  };
21
23
  /**
22
24
  * @beta
@@ -171,7 +173,6 @@ export class Player {
171
173
  this.bindBitrateChangeHandler();
172
174
  }
173
175
  player.core.on(ClapprEvents.CORE_ACTIVE_CONTAINER_CHANGED, () => {
174
- // this.trigger(Events.ContainerChanged)
175
176
  this.bindBitrateChangeHandler();
176
177
  }, null);
177
178
  if (Browser.isiOS && player.core.activePlayback) {
@@ -273,15 +274,19 @@ export class Player {
273
274
  },
274
275
  };
275
276
  buildCoreOptions(rootNode) {
276
- const multisources = this.config.multisources;
277
- const mainSource = this.config.playbackType === 'live'
278
- ? multisources.find((ms) => ms.live !== false)
279
- : multisources[0];
280
- const mediaSources = mainSource
281
- ? this.buildMediaSourcesList(mainSource)
282
- : [];
277
+ // TODO extract
278
+ // const multisources = this.config.multisources
279
+ // const mainSource =
280
+ // this.config.playbackType === 'live'
281
+ // ? multisources.find((ms) => ms.live !== false)
282
+ // : multisources[0]
283
+ // const mediaSources = mainSource
284
+ // ? this.buildMediaSourcesList(mainSource)
285
+ // : []
283
286
  // const mainSourceUrl = mediaSources[0];
284
- const poster = mainSource?.poster ?? this.config.poster;
287
+ // const poster = mainSource?.poster ?? this.config.poster
288
+ const poster = this.config.poster;
289
+ const source = this.selectMediaSource(); // TODO
285
290
  this.rootNode = rootNode;
286
291
  const coreOptions = {
287
292
  ...this.config.pluginSettings,
@@ -291,7 +296,6 @@ export class Player {
291
296
  events: this.events,
292
297
  height: rootNode.clientHeight,
293
298
  loop: this.config.loop,
294
- multisources,
295
299
  mute: this.config.mute,
296
300
  playback: {
297
301
  controls: false,
@@ -307,8 +311,8 @@ export class Player {
307
311
  playbackType: this.config.playbackType,
308
312
  poster,
309
313
  width: rootNode.clientWidth,
310
- // source: mainSourceUrl,
311
- sources: mediaSources,
314
+ source: source ? unwrapSource(source) : undefined,
315
+ // sources: mediaSources,
312
316
  strings: this.config.strings,
313
317
  };
314
318
  return coreOptions;
@@ -323,57 +327,8 @@ export class Player {
323
327
  this.qLevel = bitrate;
324
328
  });
325
329
  }
326
- buildMediaSourcesList(ms) {
327
- const msl = [];
328
- const sources = {
329
- dash: ms.sourceDash,
330
- master: ms.source,
331
- hls: ms.hlsCmafUrl,
332
- mpegts: ms.hlsMpegtsUrl,
333
- };
334
- switch (this.config.priorityTransport) {
335
- case 'dash':
336
- addDash();
337
- break;
338
- case 'hls':
339
- addHls();
340
- break;
341
- case 'mpegts':
342
- addMpegts();
343
- break;
344
- case 'auto':
345
- addDash();
346
- addHls();
347
- break;
348
- }
349
- Object.values(sources).forEach((s) => {
350
- if (s) {
351
- msl.push(s);
352
- }
353
- });
354
- return msl;
355
- function addMpegts() {
356
- if (sources.mpegts) {
357
- msl.push(sources.mpegts);
358
- sources.mpegts = null;
359
- }
360
- }
361
- function addHls() {
362
- if (sources.hls && HlsPlayback.canPlay(sources.hls)) {
363
- msl.push(sources.hls);
364
- sources.hls = null;
365
- }
366
- if (sources.master?.endsWith('.m3u8') &&
367
- HlsPlayback.canPlay(sources.master)) {
368
- msl.push(sources.master);
369
- sources.master = null;
370
- }
371
- }
372
- function addDash() {
373
- if (sources.dash && DashPlayback.canPlay(sources.dash)) {
374
- msl.push(sources.dash);
375
- sources.dash = null;
376
- }
377
- }
330
+ // Select a single source to play according to the priority transport and the modules support
331
+ selectMediaSource() {
332
+ return buildSourcesPriorityList(buildSourcesSet(this.config.sources), this.config.priorityTransport)[0];
378
333
  }
379
334
  }
@@ -1,5 +1,5 @@
1
1
  import type { CorePlugin, ContainerPlugin, Playback as ClapprPlayback } from "@clappr/core";
2
- import { PlaybackType, PlayerDebugTag, StreamMediaSource } from "./types";
2
+ import { PlaybackType, PlayerDebugTag } from "./types";
3
3
  type ExternalTrack = {
4
4
  kind?: "subtitles" | "captions";
5
5
  src: string;
@@ -10,7 +10,7 @@ type MediacontrolStyles = {
10
10
  seekbar?: string;
11
11
  buttons?: string;
12
12
  };
13
- type PlayerMediaSourceDesc = {
13
+ export type PlayerMediaSourceDesc = {
14
14
  mimeType?: string;
15
15
  source: string;
16
16
  };
@@ -92,7 +92,6 @@ export type CoreOptions = {
92
92
  maxBufferLength?: number;
93
93
  mediacontrol?: MediacontrolStyles;
94
94
  mimeType?: string;
95
- multisources: StreamMediaSource[];
96
95
  mute?: boolean;
97
96
  persistConfig?: boolean;
98
97
  preload?: "auto" | "metadata" | "none";
@@ -1 +1 @@
1
- {"version":3,"file":"internal.types.d.ts","sourceRoot":"","sources":["../src/internal.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.types.d.ts","sourceRoot":"","sources":["../src/internal.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/plugins/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/plugins/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}