shaka-player 4.11.2 → 4.11.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.
Files changed (83) hide show
  1. package/dist/locales.js +56 -56
  2. package/dist/shaka-player.compiled.d.ts +10 -1
  3. package/dist/shaka-player.compiled.debug.d.ts +10 -1
  4. package/dist/shaka-player.compiled.debug.externs.js +13 -0
  5. package/dist/shaka-player.compiled.debug.js +316 -310
  6. package/dist/shaka-player.compiled.debug.map +3 -3
  7. package/dist/shaka-player.compiled.externs.js +13 -0
  8. package/dist/shaka-player.compiled.js +1014 -1008
  9. package/dist/shaka-player.compiled.map +3 -3
  10. package/dist/shaka-player.ui.d.ts +10 -1
  11. package/dist/shaka-player.ui.debug.d.ts +10 -1
  12. package/dist/shaka-player.ui.debug.externs.js +13 -0
  13. package/dist/shaka-player.ui.debug.js +373 -365
  14. package/dist/shaka-player.ui.debug.map +3 -3
  15. package/dist/shaka-player.ui.externs.js +13 -0
  16. package/dist/shaka-player.ui.js +1266 -1259
  17. package/dist/shaka-player.ui.map +3 -3
  18. package/externs/shaka/player.js +10 -1
  19. package/lib/ads/interstitial_ad_manager.js +27 -5
  20. package/lib/dash/dash_parser.js +10 -7
  21. package/lib/dash/mpd_utils.js +0 -3
  22. package/lib/dash/segment_template.js +11 -2
  23. package/lib/media/gap_jumping_controller.js +4 -2
  24. package/lib/media/presentation_timeline.js +16 -0
  25. package/lib/media/segment_index.js +4 -4
  26. package/lib/media/streaming_engine.js +17 -10
  27. package/lib/net/networking_utils.js +5 -0
  28. package/lib/offline/storage.js +12 -10
  29. package/lib/player.js +13 -4
  30. package/lib/text/ttml_text_parser.js +1 -1
  31. package/lib/util/periods.js +56 -3
  32. package/lib/util/player_configuration.js +5 -0
  33. package/lib/util/tXml.js +17 -9
  34. package/package.json +1 -1
  35. package/ui/controls.js +14 -2
  36. package/ui/locales/README.md +16 -0
  37. package/ui/locales/ar-XB.json +1 -1
  38. package/ui/locales/ar.json +1 -1
  39. package/ui/locales/bg.json +1 -1
  40. package/ui/locales/ca.json +5 -5
  41. package/ui/locales/cs.json +1 -1
  42. package/ui/locales/da.json +1 -1
  43. package/ui/locales/de.json +1 -1
  44. package/ui/locales/el.json +1 -1
  45. package/ui/locales/en-GB.json +1 -1
  46. package/ui/locales/en-XA.json +1 -1
  47. package/ui/locales/es-419.json +4 -4
  48. package/ui/locales/es.json +4 -4
  49. package/ui/locales/fa.json +1 -1
  50. package/ui/locales/fi.json +1 -1
  51. package/ui/locales/fil.json +1 -1
  52. package/ui/locales/fr.json +5 -5
  53. package/ui/locales/hi.json +1 -1
  54. package/ui/locales/hr.json +1 -1
  55. package/ui/locales/hu.json +1 -1
  56. package/ui/locales/id.json +1 -1
  57. package/ui/locales/it.json +1 -1
  58. package/ui/locales/iw.json +1 -1
  59. package/ui/locales/ja.json +1 -1
  60. package/ui/locales/ko.json +1 -1
  61. package/ui/locales/lt.json +1 -1
  62. package/ui/locales/lv.json +1 -1
  63. package/ui/locales/nl.json +1 -1
  64. package/ui/locales/no.json +1 -1
  65. package/ui/locales/pl.json +5 -5
  66. package/ui/locales/pt-BR.json +7 -7
  67. package/ui/locales/pt-PT.json +8 -8
  68. package/ui/locales/ro.json +1 -1
  69. package/ui/locales/ru.json +1 -1
  70. package/ui/locales/sjn-translations.yaml +50 -4
  71. package/ui/locales/sjn.json +8 -1
  72. package/ui/locales/sk.json +1 -1
  73. package/ui/locales/sl.json +1 -1
  74. package/ui/locales/sr.json +1 -1
  75. package/ui/locales/sv.json +1 -1
  76. package/ui/locales/sync-sjn.py +41 -0
  77. package/ui/locales/th.json +1 -1
  78. package/ui/locales/tr.json +1 -1
  79. package/ui/locales/uk.json +1 -1
  80. package/ui/locales/vi.json +1 -1
  81. package/ui/locales/zh-HK.json +1 -1
  82. package/ui/locales/zh-TW.json +1 -1
  83. package/ui/locales/zh.json +1 -1
package/dist/locales.js CHANGED
@@ -222,7 +222,7 @@ shaka.ui.Locales.addTo = function(localization) {
222
222
  localization.insert('es', new Map([
223
223
  ['AD_DURATION', 'Duración del anuncio'],
224
224
  ['AD_PROGRESS', 'Anuncio [AD_ON] de [NUM_ADS]'],
225
- ['AD_STATISTICS', 'Estadísticas de anuncios'],
225
+ ['AD_STATISTICS', 'Estadísticas del anuncio'],
226
226
  ['AD_TIME', 'Anuncio: [AD_TIME]'],
227
227
  ['AIRPLAY', 'AirPlay'],
228
228
  ['AUTO_QUALITY', 'Automático'],
@@ -252,7 +252,7 @@ shaka.ui.Locales.addTo = function(localization) {
252
252
  ['PLAY', 'Reproducir'],
253
253
  ['PLAYBACK_RATE', 'Velocidad de reproducción'],
254
254
  ['QUALITY', 'Calidad'],
255
- ['RECENTER_VR', 'Recentrar'],
255
+ ['RECENTER_VR', 'Volver a centrar'],
256
256
  ['REPLAY', 'Volver a reproducir'],
257
257
  ['RESOLUTION', 'Resolución'],
258
258
  ['REWIND', 'Rebobinar'],
@@ -262,7 +262,7 @@ shaka.ui.Locales.addTo = function(localization) {
262
262
  ['STATISTICS', 'Estadísticas'],
263
263
  ['SUBTITLE_FORCED', 'Forzado'],
264
264
  ['SURROUND', 'Envolvente'],
265
- ['TOGGLE_STEREOSCOPIC', 'Alternar estereoscópico'],
265
+ ['TOGGLE_STEREOSCOPIC', 'Activar/Desactivar estereoscópica'],
266
266
  ['UNDETERMINED_LANGUAGE', 'Sin especificar'],
267
267
  ['UNMUTE', 'Activar sonido'],
268
268
  ['UNRECOGNIZED_LANGUAGE', 'No reconocida'],
@@ -301,7 +301,7 @@ shaka.ui.Locales.addTo = function(localization) {
301
301
  ['PLAY', 'Reproducir'],
302
302
  ['PLAYBACK_RATE', 'Velocidad de reproducción'],
303
303
  ['QUALITY', 'Calidad'],
304
- ['RECENTER_VR', 'Recentrar'],
304
+ ['RECENTER_VR', 'Volver a centrar'],
305
305
  ['REPLAY', 'Volver a reproducir'],
306
306
  ['RESOLUTION', 'Resolución'],
307
307
  ['REWIND', 'Retroceder'],
@@ -310,8 +310,8 @@ shaka.ui.Locales.addTo = function(localization) {
310
310
  ['SKIP_TO_LIVE', 'Adelantar hasta la transmisión en vivo'],
311
311
  ['STATISTICS', 'Estadísticas'],
312
312
  ['SUBTITLE_FORCED', 'Forzado'],
313
- ['SURROUND', 'Envolvente'],
314
- ['TOGGLE_STEREOSCOPIC', 'Alternar estereoscópico'],
313
+ ['SURROUND', 'Sonido envolvente'],
314
+ ['TOGGLE_STEREOSCOPIC', 'Activar o desactivar el modo estereoscópico'],
315
315
  ['UNDETERMINED_LANGUAGE', 'Sin especificar'],
316
316
  ['UNMUTE', 'Dejar de silenciar'],
317
317
  ['UNRECOGNIZED_LANGUAGE', 'No reconocida'],
@@ -320,7 +320,7 @@ shaka.ui.Locales.addTo = function(localization) {
320
320
  localization.insert('fr', new Map([
321
321
  ['AD_DURATION', 'Durée de l\'annonce'],
322
322
  ['AD_PROGRESS', 'Annonce [AD_ON] sur [NUM_ADS]'],
323
- ['AD_STATISTICS', 'Statistiques de l\'annonce'],
323
+ ['AD_STATISTICS', 'Statistiques sur les annonces'],
324
324
  ['AD_TIME', 'Annonce : [AD_TIME]'],
325
325
  ['AIRPLAY', 'AirPlay'],
326
326
  ['AUTO_QUALITY', 'Automatique'],
@@ -328,7 +328,7 @@ shaka.ui.Locales.addTo = function(localization) {
328
328
  ['CAPTIONS', 'Sous-titres'],
329
329
  ['CAST', 'Caster…'],
330
330
  ['CHAPTERS', 'Chapitres'],
331
- ['DOWNLOAD_VIDEO_FRAME', 'Enregistrer l\'image vidéo'],
331
+ ['DOWNLOAD_VIDEO_FRAME', 'Télécharger l\'image de la vidéo'],
332
332
  ['ENTER_LOOP_MODE', 'Lire en boucle la vidéo en cours'],
333
333
  ['ENTER_PICTURE_IN_PICTURE', 'Utiliser le mode Picture-in-Picture'],
334
334
  ['EXIT_FULL_SCREEN', 'Quitter le mode plein écran'],
@@ -351,7 +351,7 @@ shaka.ui.Locales.addTo = function(localization) {
351
351
  ['PLAYBACK_RATE', 'Vitesse de lecture'],
352
352
  ['QUALITY', 'Qualité'],
353
353
  ['RECENTER_VR', 'Recentrer'],
354
- ['REPLAY', 'Rejouer'],
354
+ ['REPLAY', 'Revoir'],
355
355
  ['RESOLUTION', 'Résolution'],
356
356
  ['REWIND', 'Retour arrière'],
357
357
  ['SEEK', 'Chercher'],
@@ -360,7 +360,7 @@ shaka.ui.Locales.addTo = function(localization) {
360
360
  ['STATISTICS', 'Statistiques'],
361
361
  ['SUBTITLE_FORCED', 'Forcé'],
362
362
  ['SURROUND', 'Surround'],
363
- ['TOGGLE_STEREOSCOPIC', 'Stéréoscopique ON/OFF'],
363
+ ['TOGGLE_STEREOSCOPIC', 'Activer/Désactiver le mode stéréoscopique'],
364
364
  ['UNDETERMINED_LANGUAGE', 'Langue indéterminée'],
365
365
  ['UNMUTE', 'Réactiver le son'],
366
366
  ['UNRECOGNIZED_LANGUAGE', 'Non reconnu'],
@@ -573,7 +573,7 @@ shaka.ui.Locales.addTo = function(localization) {
573
573
  ['CAPTIONS', 'Napisy'],
574
574
  ['CAST', 'Przesyłaj...'],
575
575
  ['CHAPTERS', 'Rozdziały'],
576
- ['DOWNLOAD_VIDEO_FRAME', 'Zapisz klatkę wideo'],
576
+ ['DOWNLOAD_VIDEO_FRAME', 'Zapisz klatkę filmu'],
577
577
  ['ENTER_LOOP_MODE', 'Odtwarzaj bieżący film w pętli'],
578
578
  ['ENTER_PICTURE_IN_PICTURE', 'Włącz tryb obrazu w obrazie'],
579
579
  ['EXIT_FULL_SCREEN', 'Zamknij pełny ekran'],
@@ -595,8 +595,8 @@ shaka.ui.Locales.addTo = function(localization) {
595
595
  ['PLAY', 'Odtwórz'],
596
596
  ['PLAYBACK_RATE', 'Szybkość odtwarzania'],
597
597
  ['QUALITY', 'Jakość'],
598
- ['RECENTER_VR', 'Wycentruj'],
599
- ['REPLAY', 'Odtwórz od nowa'],
598
+ ['RECENTER_VR', 'Wyśrodkuj'],
599
+ ['REPLAY', 'Odtwórz ponownie'],
600
600
  ['RESOLUTION', 'Rozdzielczość'],
601
601
  ['REWIND', 'Przewiń do tyłu'],
602
602
  ['SEEK', 'Szukaj'],
@@ -605,7 +605,7 @@ shaka.ui.Locales.addTo = function(localization) {
605
605
  ['STATISTICS', 'Statystyki'],
606
606
  ['SUBTITLE_FORCED', 'Wymuszone'],
607
607
  ['SURROUND', 'Przestrzenny'],
608
- ['TOGGLE_STEREOSCOPIC', 'Przełącz widok stereoskopowy'],
608
+ ['TOGGLE_STEREOSCOPIC', 'Przełącz tryb stereoskopowy'],
609
609
  ['UNDETERMINED_LANGUAGE', 'Nie określono'],
610
610
  ['UNMUTE', 'Wyłącz wyciszenie'],
611
611
  ['UNRECOGNIZED_LANGUAGE', 'Nierozpoznany'],
@@ -622,7 +622,7 @@ shaka.ui.Locales.addTo = function(localization) {
622
622
  ['CAPTIONS', 'Legendas'],
623
623
  ['CAST', 'Transmitir...'],
624
624
  ['CHAPTERS', 'Capítulos'],
625
- ['DOWNLOAD_VIDEO_FRAME', 'Salvar quadro de vídeo'],
625
+ ['DOWNLOAD_VIDEO_FRAME', 'Salvar frame do vídeo'],
626
626
  ['ENTER_LOOP_MODE', 'Repetir o vídeo atual'],
627
627
  ['ENTER_PICTURE_IN_PICTURE', 'Entrar no modo picture-in-picture'],
628
628
  ['EXIT_FULL_SCREEN', 'Sair do modo tela cheia'],
@@ -644,17 +644,17 @@ shaka.ui.Locales.addTo = function(localization) {
644
644
  ['PLAY', 'Reproduzir'],
645
645
  ['PLAYBACK_RATE', 'Velocidade da reprodução'],
646
646
  ['QUALITY', 'Qualidade'],
647
- ['RECENTER_VR', 'Recentralizar'],
648
- ['REPLAY', 'Replay'],
647
+ ['RECENTER_VR', 'Centralizar'],
648
+ ['REPLAY', 'Repetir'],
649
649
  ['RESOLUTION', 'Resolução'],
650
- ['REWIND', 'Retroceder'],
650
+ ['REWIND', 'Voltar'],
651
651
  ['SEEK', 'Procurar'],
652
652
  ['SKIP_AD', 'Pular anúncio'],
653
653
  ['SKIP_TO_LIVE', 'Pular para transmissão ao vivo'],
654
654
  ['STATISTICS', 'Estatísticas'],
655
- ['SUBTITLE_FORCED', 'Forçado'],
655
+ ['SUBTITLE_FORCED', 'Exibição forçada'],
656
656
  ['SURROUND', 'Surround'],
657
- ['TOGGLE_STEREOSCOPIC', 'Alternar estereoscópico'],
657
+ ['TOGGLE_STEREOSCOPIC', 'Alternar imagem estereoscópica'],
658
658
  ['UNDETERMINED_LANGUAGE', 'Indeterminado'],
659
659
  ['UNMUTE', 'Ativar som'],
660
660
  ['UNRECOGNIZED_LANGUAGE', 'Não reconhecido'],
@@ -912,51 +912,51 @@ shaka.ui.Locales.addTo = function(localization) {
912
912
  * @const
913
913
  */
914
914
  shaka.ui.Locales.Ids = {
915
- AD_TIME: 'AD_TIME',
916
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
917
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
918
- FULL_SCREEN: 'FULL_SCREEN',
919
- REPLAY: 'REPLAY',
920
- TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
921
- AD_DURATION: 'AD_DURATION',
922
- LOOP: 'LOOP',
923
- SKIP_AD: 'SKIP_AD',
924
- LANGUAGE: 'LANGUAGE',
925
- AIRPLAY: 'AIRPLAY',
926
- CHAPTERS: 'CHAPTERS',
927
- DOWNLOAD_VIDEO_FRAME: 'DOWNLOAD_VIDEO_FRAME',
928
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
915
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
916
+ AD_PROGRESS: 'AD_PROGRESS',
929
917
  ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
930
918
  REWIND: 'REWIND',
931
919
  RESOLUTION: 'RESOLUTION',
932
- NOT_APPLICABLE: 'NOT_APPLICABLE',
920
+ AD_TIME: 'AD_TIME',
921
+ CAPTIONS: 'CAPTIONS',
922
+ LANGUAGE: 'LANGUAGE',
923
+ LOOP: 'LOOP',
924
+ TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
925
+ CHAPTERS: 'CHAPTERS',
926
+ AD_STATISTICS: 'AD_STATISTICS',
927
+ QUALITY: 'QUALITY',
933
928
  UNMUTE: 'UNMUTE',
934
- ON: 'ON',
935
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
936
- AD_PROGRESS: 'AD_PROGRESS',
937
- LIVE: 'LIVE',
938
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
939
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
940
- RECENTER_VR: 'RECENTER_VR',
929
+ FULL_SCREEN: 'FULL_SCREEN',
941
930
  OFF: 'OFF',
942
- CAST: 'CAST',
943
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
944
931
  STATISTICS: 'STATISTICS',
932
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
933
+ MORE_SETTINGS: 'MORE_SETTINGS',
934
+ AD_DURATION: 'AD_DURATION',
935
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
936
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
937
+ SURROUND: 'SURROUND',
938
+ SKIP_AD: 'SKIP_AD',
939
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
945
940
  SEEK: 'SEEK',
946
- CAPTIONS: 'CAPTIONS',
947
- FAST_FORWARD: 'FAST_FORWARD',
948
- PLAY: 'PLAY',
949
- AD_STATISTICS: 'AD_STATISTICS',
941
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
942
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
950
943
  AUTO_QUALITY: 'AUTO_QUALITY',
951
- SURROUND: 'SURROUND',
952
- MORE_SETTINGS: 'MORE_SETTINGS',
944
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
945
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
946
+ RECENTER_VR: 'RECENTER_VR',
947
+ LIVE: 'LIVE',
953
948
  PLAYBACK_RATE: 'PLAYBACK_RATE',
954
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
955
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
956
- MUTE: 'MUTE',
957
- QUALITY: 'QUALITY',
958
- BACK: 'BACK',
959
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
949
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
950
+ PLAY: 'PLAY',
951
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
952
+ CAST: 'CAST',
960
953
  VOLUME: 'VOLUME',
954
+ REPLAY: 'REPLAY',
955
+ MUTE: 'MUTE',
961
956
  PAUSE: 'PAUSE',
957
+ BACK: 'BACK',
958
+ DOWNLOAD_VIDEO_FRAME: 'DOWNLOAD_VIDEO_FRAME',
959
+ FAST_FORWARD: 'FAST_FORWARD',
960
+ AIRPLAY: 'AIRPLAY',
961
+ ON: 'ON',
962
962
  };
@@ -1460,6 +1460,11 @@ declare namespace shaka.media {
1460
1460
  * Gives PresentationTimeline a Stream's minimum segment start time.
1461
1461
  */
1462
1462
  notifyMinSegmentStartTime (startTime : number ) : any ;
1463
+ /**
1464
+ * Gives PresentationTimeline an startTime and endTime of the period.
1465
+ * This should be only set for Dash.
1466
+ */
1467
+ notifyPeriodDuration (startTime : number , endTime : number ) : any ;
1463
1468
  /**
1464
1469
  * Gives PresentationTimeline an array of segments so it can size and position
1465
1470
  * the segment availability window, and account for missing segment
@@ -3825,6 +3830,10 @@ declare namespace shaka.util {
3825
3830
  class PeriodCombiner implements shaka.util.IReleasable {
3826
3831
  private noStructuralTyping_shaka_util_PeriodCombiner : any;
3827
3832
  combinePeriods (periods : shaka.extern.Period [] , isDynamic : boolean , isPatchUpdate ? : boolean ) : Promise < any > ;
3833
+ /**
3834
+ * Deletes a stream from matchedStreams because it is no longer needed
3835
+ */
3836
+ deleteStream (stream : shaka.extern.Stream | null , periodId : string ) : any ;
3828
3837
  getImageStreams ( ) : shaka.extern.Stream [] ;
3829
3838
  getTextStreams ( ) : shaka.extern.Stream [] ;
3830
3839
  getVariants ( ) : shaka.extern.Variant [] ;
@@ -4949,7 +4958,7 @@ declare namespace shaka.extern {
4949
4958
  }
4950
4959
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4951
4960
  declare namespace shaka.extern {
4952
- type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , clearDecodingCache : boolean , disableAudioPrefetch : boolean , disableTextPrefetch : boolean , disableVideoPrefetch : boolean , dispatchAllEmsgBoxes : boolean , dontChooseCodecs : boolean , durationBackoff : number , evictionGoal : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTP : boolean , forceHTTPS : boolean , gapDetectionThreshold : number , gapJumpTimerTime : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , infiniteLiveStreamDuration : boolean , liveSync : shaka.extern.LiveSyncConfiguration , loadTimeout : number , lowLatencyMode : boolean , maxDisabledTime : number , minBytesForProgressEvents : number , minTimeBetweenRecoveries : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , prefetchAudioLanguages : string [] , preloadNextUrlWindow : number , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , segmentPrefetchLimit : number , shouldFixTimestampOffset : boolean , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsForFairPlay : boolean , vodDynamicPlaybackRate : boolean , vodDynamicPlaybackRateBufferRatio : number , vodDynamicPlaybackRateLowBufferRate : number } ;
4961
+ type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , clearDecodingCache : boolean , disableAudioPrefetch : boolean , disableTextPrefetch : boolean , disableVideoPrefetch : boolean , dispatchAllEmsgBoxes : boolean , dontChooseCodecs : boolean , durationBackoff : number , evictionGoal : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTP : boolean , forceHTTPS : boolean , gapDetectionThreshold : number , gapJumpTimerTime : number , gapPadding : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , infiniteLiveStreamDuration : boolean , liveSync : shaka.extern.LiveSyncConfiguration , loadTimeout : number , lowLatencyMode : boolean , maxDisabledTime : number , minBytesForProgressEvents : number , minTimeBetweenRecoveries : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , prefetchAudioLanguages : string [] , preloadNextUrlWindow : number , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , segmentPrefetchLimit : number , shouldFixTimestampOffset : boolean , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsForFairPlay : boolean , vodDynamicPlaybackRate : boolean , vodDynamicPlaybackRateBufferRatio : number , vodDynamicPlaybackRateLowBufferRate : number } ;
4953
4962
  }
4954
4963
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4955
4964
  declare namespace shaka.extern {
@@ -1460,6 +1460,11 @@ declare namespace shaka.media {
1460
1460
  * Gives PresentationTimeline a Stream's minimum segment start time.
1461
1461
  */
1462
1462
  notifyMinSegmentStartTime (startTime : number ) : any ;
1463
+ /**
1464
+ * Gives PresentationTimeline an startTime and endTime of the period.
1465
+ * This should be only set for Dash.
1466
+ */
1467
+ notifyPeriodDuration (startTime : number , endTime : number ) : any ;
1463
1468
  /**
1464
1469
  * Gives PresentationTimeline an array of segments so it can size and position
1465
1470
  * the segment availability window, and account for missing segment
@@ -3825,6 +3830,10 @@ declare namespace shaka.util {
3825
3830
  class PeriodCombiner implements shaka.util.IReleasable {
3826
3831
  private noStructuralTyping_shaka_util_PeriodCombiner : any;
3827
3832
  combinePeriods (periods : shaka.extern.Period [] , isDynamic : boolean , isPatchUpdate ? : boolean ) : Promise < any > ;
3833
+ /**
3834
+ * Deletes a stream from matchedStreams because it is no longer needed
3835
+ */
3836
+ deleteStream (stream : shaka.extern.Stream | null , periodId : string ) : any ;
3828
3837
  getImageStreams ( ) : shaka.extern.Stream [] ;
3829
3838
  getTextStreams ( ) : shaka.extern.Stream [] ;
3830
3839
  getVariants ( ) : shaka.extern.Variant [] ;
@@ -4949,7 +4958,7 @@ declare namespace shaka.extern {
4949
4958
  }
4950
4959
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4951
4960
  declare namespace shaka.extern {
4952
- type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , clearDecodingCache : boolean , disableAudioPrefetch : boolean , disableTextPrefetch : boolean , disableVideoPrefetch : boolean , dispatchAllEmsgBoxes : boolean , dontChooseCodecs : boolean , durationBackoff : number , evictionGoal : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTP : boolean , forceHTTPS : boolean , gapDetectionThreshold : number , gapJumpTimerTime : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , infiniteLiveStreamDuration : boolean , liveSync : shaka.extern.LiveSyncConfiguration , loadTimeout : number , lowLatencyMode : boolean , maxDisabledTime : number , minBytesForProgressEvents : number , minTimeBetweenRecoveries : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , prefetchAudioLanguages : string [] , preloadNextUrlWindow : number , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , segmentPrefetchLimit : number , shouldFixTimestampOffset : boolean , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsForFairPlay : boolean , vodDynamicPlaybackRate : boolean , vodDynamicPlaybackRateBufferRatio : number , vodDynamicPlaybackRateLowBufferRate : number } ;
4961
+ type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , clearDecodingCache : boolean , disableAudioPrefetch : boolean , disableTextPrefetch : boolean , disableVideoPrefetch : boolean , dispatchAllEmsgBoxes : boolean , dontChooseCodecs : boolean , durationBackoff : number , evictionGoal : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTP : boolean , forceHTTPS : boolean , gapDetectionThreshold : number , gapJumpTimerTime : number , gapPadding : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , infiniteLiveStreamDuration : boolean , liveSync : shaka.extern.LiveSyncConfiguration , loadTimeout : number , lowLatencyMode : boolean , maxDisabledTime : number , minBytesForProgressEvents : number , minTimeBetweenRecoveries : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , prefetchAudioLanguages : string [] , preloadNextUrlWindow : number , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , segmentPrefetchLimit : number , shouldFixTimestampOffset : boolean , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsForFairPlay : boolean , vodDynamicPlaybackRate : boolean , vodDynamicPlaybackRateBufferRatio : number , vodDynamicPlaybackRateLowBufferRate : number } ;
4953
4962
  }
4954
4963
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4955
4964
  declare namespace shaka.extern {
@@ -2496,6 +2496,13 @@ shaka.media.PresentationTimeline = class {
2496
2496
  * @param {!Array.<!shaka.media.SegmentReference>} references
2497
2497
  */
2498
2498
  notifySegments(references) {}
2499
+ /**
2500
+ * Gives PresentationTimeline an startTime and endTime of the period.
2501
+ * This should be only set for Dash.
2502
+ * @param {number} startTime
2503
+ * @param {number} endTime
2504
+ */
2505
+ notifyPeriodDuration(startTime, endTime) {}
2499
2506
  /**
2500
2507
  * Gets the end time of the last available segment.
2501
2508
  * @return {?number}
@@ -5092,6 +5099,12 @@ shaka.util.PeriodCombiner = class {
5092
5099
  * @return {!Array.<shaka.extern.Stream>}
5093
5100
  */
5094
5101
  getImageStreams() {}
5102
+ /**
5103
+ * Deletes a stream from matchedStreams because it is no longer needed
5104
+ * @param {?shaka.extern.Stream} stream
5105
+ * @param {string} periodId
5106
+ */
5107
+ deleteStream(stream, periodId) {}
5095
5108
  /**
5096
5109
  * @param {!Array.<shaka.extern.Period>} periods
5097
5110
  * @param {boolean} isDynamic