shaka-player 4.10.13 → 4.11.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.
Files changed (91) hide show
  1. package/README.md +5 -1
  2. package/dist/controls.css +3 -3
  3. package/dist/controls.css.map +1 -1
  4. package/dist/deps.js +11 -11
  5. package/dist/locales.js +38 -34
  6. package/dist/shaka-player.compiled.d.ts +68 -33
  7. package/dist/shaka-player.compiled.debug.d.ts +68 -33
  8. package/dist/shaka-player.compiled.debug.externs.js +584 -544
  9. package/dist/shaka-player.compiled.debug.js +715 -676
  10. package/dist/shaka-player.compiled.debug.map +4 -4
  11. package/dist/shaka-player.compiled.externs.js +584 -544
  12. package/dist/shaka-player.compiled.js +1394 -1371
  13. package/dist/shaka-player.compiled.map +4 -4
  14. package/dist/shaka-player.ui.d.ts +76 -34
  15. package/dist/shaka-player.ui.debug.d.ts +76 -34
  16. package/dist/shaka-player.ui.debug.externs.js +77 -26
  17. package/dist/shaka-player.ui.debug.js +774 -720
  18. package/dist/shaka-player.ui.debug.map +4 -4
  19. package/dist/shaka-player.ui.externs.js +77 -26
  20. package/dist/shaka-player.ui.js +1649 -1617
  21. package/dist/shaka-player.ui.map +4 -4
  22. package/externs/mediasession.js +10 -1
  23. package/externs/shaka/ads.js +79 -2
  24. package/externs/shaka/manifest.js +6 -1
  25. package/externs/shaka/manifest_parser.js +6 -2
  26. package/externs/shaka/net.js +23 -2
  27. package/externs/shaka/player.js +414 -103
  28. package/externs/shaka/text.js +2 -1
  29. package/lib/abr/simple_abr_manager.js +5 -0
  30. package/lib/ads/ad_manager.js +45 -1
  31. package/lib/ads/ad_utils.js +124 -1
  32. package/lib/ads/interstitial_ad.js +9 -2
  33. package/lib/ads/interstitial_ad_manager.js +216 -101
  34. package/lib/ads/media_tailor_ad.js +1 -39
  35. package/lib/ads/media_tailor_ad_manager.js +32 -16
  36. package/lib/cea/cea608_data_channel.js +40 -8
  37. package/lib/cea/cea608_memory.js +28 -0
  38. package/lib/dash/dash_parser.js +162 -25
  39. package/lib/dash/segment_base.js +3 -2
  40. package/lib/dash/segment_list.js +6 -3
  41. package/lib/dash/segment_template.js +104 -20
  42. package/lib/hls/hls_parser.js +319 -215
  43. package/lib/media/drm_engine.js +11 -3
  44. package/lib/media/media_source_engine.js +0 -8
  45. package/lib/media/preload_manager.js +16 -4
  46. package/lib/media/segment_reference.js +3 -0
  47. package/lib/media/segment_utils.js +8 -1
  48. package/lib/media/streaming_engine.js +10 -6
  49. package/lib/mss/mss_parser.js +14 -2
  50. package/lib/net/http_fetch_plugin.js +12 -5
  51. package/lib/net/http_xhr_plugin.js +7 -3
  52. package/lib/net/networking_engine.js +21 -1
  53. package/lib/offline/manifest_converter.js +1 -0
  54. package/lib/offline/storage.js +1 -0
  55. package/lib/player.js +336 -121
  56. package/lib/text/cue.js +373 -0
  57. package/lib/text/mp4_ttml_parser.js +51 -1
  58. package/lib/text/mp4_vtt_parser.js +2 -5
  59. package/lib/text/sbv_text_parser.js +2 -31
  60. package/lib/text/srt_text_parser.js +1 -1
  61. package/lib/text/text_engine.js +1 -1
  62. package/lib/text/text_utils.js +1 -0
  63. package/lib/text/ttml_text_parser.js +14 -4
  64. package/lib/text/ui_text_displayer.js +0 -4
  65. package/lib/text/vtt_text_parser.js +10 -415
  66. package/lib/util/abortable_operation.js +8 -0
  67. package/lib/util/cmcd_manager.js +38 -0
  68. package/lib/util/error.js +16 -0
  69. package/lib/util/fake_event.js +1 -0
  70. package/lib/util/manifest_parser_utils.js +12 -3
  71. package/lib/util/player_configuration.js +4 -2
  72. package/lib/util/stream_utils.js +57 -2
  73. package/lib/util/tXml.js +2 -1
  74. package/lib/util/text_parser.js +46 -0
  75. package/lib/util/ts_parser.js +32 -3
  76. package/package.json +1 -1
  77. package/shaka-player.uncompiled.js +1 -1
  78. package/ui/chapter_selection.js +179 -0
  79. package/ui/controls.js +151 -0
  80. package/ui/enums.js +1 -0
  81. package/ui/externs/ui.js +7 -1
  82. package/ui/less/containers.less +3 -4
  83. package/ui/less/overflow_menu.less +5 -0
  84. package/ui/less/tooltip.less +1 -1
  85. package/ui/locales/en.json +1 -0
  86. package/ui/locales/es.json +1 -0
  87. package/ui/locales/fr.json +1 -0
  88. package/ui/locales/source.json +4 -0
  89. package/ui/seek_bar.js +3 -2
  90. package/ui/ui.js +2 -0
  91. package/lib/polyfill/abort_controller.js +0 -158
@@ -11,13 +11,18 @@ declare class GlobalError extends Error {}
11
11
  declare namespace shaka {
12
12
  class Player extends shaka.util.FakeEventTarget implements shaka.util.IDestroyable {
13
13
  private noStructuralTyping_shaka_Player : any;
14
- constructor (mediaElement ? : HTMLMediaElement | null , dependencyInjector ? : (a : shaka.Player | null ) => any ) ;
14
+ constructor (mediaElement ? : HTMLMediaElement | null , videoContainer ? : HTMLElement | null , dependencyInjector ? : (a : shaka.Player | null ) => any ) ;
15
15
  /**
16
16
  * Adds the given chapters track to the loaded manifest. <code>load()</code>
17
17
  * must resolve before calling. The presentation must have a duration.
18
18
  * This returns the created track.
19
19
  */
20
20
  addChaptersTrack (uri : string , language : string , mimeType ? : string ) : Promise < shaka.extern.Track > ;
21
+ /**
22
+ * Load a new font on the page. If the font was already loaded, it does
23
+ * nothing.
24
+ */
25
+ addFont (name : string , url : string ) : any ;
21
26
  /**
22
27
  * Adds the given text track to the loaded manifest. <code>load()</code> must
23
28
  * resolve before calling. The presentation must have a duration.
@@ -525,6 +530,8 @@ declare namespace shaka.ads {
525
530
  */
526
531
  class AdManager extends shaka.util.FakeEventTarget implements shaka.extern.IAdManager , shaka.util.IReleasable {
527
532
  private noStructuralTyping_shaka_ads_AdManager : any;
533
+ addAdUrlInterstitial (url : any ) : any ;
534
+ addCustomInterstitial (interstitial : any ) : any ;
528
535
  addMediaTailorTrackingUrl (url : string ) : any ;
529
536
  configure (config : any ) : any ;
530
537
  getCuePoints ( ) : shaka.extern.AdCuePoint [] ;
@@ -536,9 +543,10 @@ declare namespace shaka.ads {
536
543
  initServerSide (adContainer : any , video : any ) : any ;
537
544
  onAssetUnload ( ) : any ;
538
545
  onCueMetadataChange (value : any ) : any ;
546
+ onDASHInterstitialMetadata (basePlayer : any , baseVideo : any , region : any ) : any ;
539
547
  onDashTimedMetadata (region : any ) : any ;
548
+ onHLSInterstitialMetadata (basePlayer : any , baseVideo : any , interstitial : any ) : any ;
540
549
  onHlsTimedMetadata (metadata : any , timestamp : any ) : any ;
541
- onInterstitialMetadata (basePlayer : any , baseVideo : any , interstitial : any ) : any ;
542
550
  onManifestUpdated (isLive : any ) : any ;
543
551
  release ( ) : any ;
544
552
  replaceServerSideAdTagParameters (adTagParameters : any ) : any ;
@@ -768,7 +776,7 @@ declare namespace shaka.ads {
768
776
  declare namespace shaka.ads {
769
777
  class InterstitialAd implements shaka.extern.IAd {
770
778
  private noStructuralTyping_shaka_ads_InterstitialAd : any;
771
- constructor (video : HTMLMediaElement | null , isSkippable : boolean , onSkip : ( ) => any , sequenceLength : number , adPosition : number ) ;
779
+ constructor (video : HTMLMediaElement | null , isSkippable : boolean , skipOffset : number | null , onSkip : ( ) => any , sequenceLength : number , adPosition : number ) ;
772
780
  canSkipNow ( ) : any ;
773
781
  getAdId ( ) : any ;
774
782
  getAdvertiserName ( ) : any ;
@@ -1182,7 +1190,7 @@ declare namespace shaka.dash {
1182
1190
  class DashParser implements shaka.extern.ManifestParser {
1183
1191
  private noStructuralTyping_shaka_dash_DashParser : any;
1184
1192
  banLocation (uri : any ) : any ;
1185
- configure (config : any ) : any ;
1193
+ configure (config : shaka.extern.ManifestConfiguration , isPreloadFn ? : ( ) => boolean ) : any ;
1186
1194
  onExpirationUpdated (sessionId : any , expiration : any ) : any ;
1187
1195
  onInitialVariantChosen (variant : any ) : any ;
1188
1196
  setMediaElement (mediaElement : any ) : any ;
@@ -1223,7 +1231,7 @@ declare namespace shaka.hls {
1223
1231
  class HlsParser implements shaka.extern.ManifestParser {
1224
1232
  private noStructuralTyping_shaka_hls_HlsParser : any;
1225
1233
  banLocation (uri : any ) : any ;
1226
- configure (config : any ) : any ;
1234
+ configure (config : shaka.extern.ManifestConfiguration , isPreloadFn ? : ( ) => boolean ) : any ;
1227
1235
  onExpirationUpdated (sessionId : any , expiration : any ) : any ;
1228
1236
  onInitialVariantChosen (variant : any ) : any ;
1229
1237
  setMediaElement (mediaElement : any ) : any ;
@@ -1780,7 +1788,7 @@ declare namespace shaka.mss {
1780
1788
  class MssParser implements shaka.extern.ManifestParser {
1781
1789
  private noStructuralTyping_shaka_mss_MssParser : any;
1782
1790
  banLocation (uri : any ) : any ;
1783
- configure (config : any ) : any ;
1791
+ configure (config : shaka.extern.ManifestConfiguration , isPreloadFn ? : ( ) => boolean ) : any ;
1784
1792
  onExpirationUpdated (sessionId : any , expiration : any ) : any ;
1785
1793
  onInitialVariantChosen (variant : any ) : any ;
1786
1794
  setMediaElement (mediaElement : HTMLMediaElement | null ) : any ;
@@ -1806,14 +1814,14 @@ declare namespace shaka.net {
1806
1814
  * logic as Shaka when determining support.
1807
1815
  */
1808
1816
  static isSupported ( ) : boolean ;
1809
- static parse (uri : string , request : shaka.extern.Request , requestType : shaka.net.NetworkingEngine.RequestType , progressUpdated : shaka.extern.ProgressUpdated , headersReceived : shaka.extern.HeadersReceived ) : shaka.extern.IAbortableOperation < any > ;
1817
+ static parse (uri : string , request : shaka.extern.Request , requestType : shaka.net.NetworkingEngine.RequestType , progressUpdated : shaka.extern.ProgressUpdated , headersReceived : shaka.extern.HeadersReceived , config : shaka.extern.SchemePluginConfig ) : shaka.extern.IAbortableOperation < any > ;
1810
1818
  }
1811
1819
  }
1812
1820
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1813
1821
  declare namespace shaka.net {
1814
1822
  class HttpXHRPlugin {
1815
1823
  private noStructuralTyping_shaka_net_HttpXHRPlugin : any;
1816
- static parse (uri : string , request : shaka.extern.Request , requestType : shaka.net.NetworkingEngine.RequestType , progressUpdated : shaka.extern.ProgressUpdated , headersReceived : shaka.extern.HeadersReceived ) : shaka.extern.IAbortableOperation < any > ;
1824
+ static parse (uri : string , request : shaka.extern.Request , requestType : shaka.net.NetworkingEngine.RequestType , progressUpdated : shaka.extern.ProgressUpdated , headersReceived : shaka.extern.HeadersReceived , config : shaka.extern.SchemePluginConfig ) : shaka.extern.IAbortableOperation < any > ;
1817
1825
  }
1818
1826
  }
1819
1827
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1904,7 +1912,13 @@ declare namespace shaka.net.NetworkingEngine {
1904
1912
  */
1905
1913
  enum AdvancedRequestType {
1906
1914
  INIT_SEGMENT = 0.0 ,
1915
+ INTERSTITIAL_AD_URL = 12.0 ,
1916
+ INTERSTITIAL_ASSET_LIST = 11.0 ,
1907
1917
  MASTER_PLAYLIST = 3.0 ,
1918
+ MEDIATAILOR_SESSION_INFO = 7.0 ,
1919
+ MEDIATAILOR_STATIC_RESOURCE = 9.0 ,
1920
+ MEDIATAILOR_TRACKING_EVENT = 10.0 ,
1921
+ MEDIATAILOR_TRACKING_INFO = 8.0 ,
1908
1922
  MEDIA_PLAYLIST = 2.0 ,
1909
1923
  MEDIA_SEGMENT = 1.0 ,
1910
1924
  MPD = 4.0 ,
@@ -2129,16 +2143,6 @@ declare namespace shaka {
2129
2143
  }
2130
2144
  }
2131
2145
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
2132
- declare namespace shaka.polyfill {
2133
- class AbortController extends AbortController {
2134
- private noStructuralTyping_shaka_polyfill_AbortController : any;
2135
- /**
2136
- * Install the polyfill if needed.
2137
- */
2138
- static install ( ) : any ;
2139
- }
2140
- }
2141
- // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
2142
2146
  declare namespace shaka.polyfill {
2143
2147
  class Aria {
2144
2148
  private noStructuralTyping_shaka_polyfill_Aria : any;
@@ -2493,6 +2497,12 @@ declare namespace shaka.text {
2493
2497
  * Text writing mode of the cue.
2494
2498
  */
2495
2499
  writingMode : shaka.text.Cue.writingMode ;
2500
+ /**
2501
+ * Parses cue payload, searches for styling entities and, if needed,
2502
+ * modifies original payload and creates nested cues to better represent
2503
+ * styling found in payload. All changes are done in-place.
2504
+ */
2505
+ static parseCuePayload (cue : shaka.text.Cue , styles ? : Map < string , shaka.text.Cue > ) : any ;
2496
2506
  }
2497
2507
  }
2498
2508
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -2828,7 +2838,7 @@ declare namespace shaka.text {
2828
2838
  class TtmlTextParser implements shaka.extern.TextParser {
2829
2839
  private noStructuralTyping_shaka_text_TtmlTextParser : any;
2830
2840
  parseInit (data : any ) : any ;
2831
- parseMedia (data : any , time : any , uri : any ) : any ;
2841
+ parseMedia (data : any , time : any , uri : any , images : any ) : any ;
2832
2842
  setManifestType (manifestType : any ) : any ;
2833
2843
  setSequenceMode (sequenceMode : any ) : any ;
2834
2844
  }
@@ -3054,6 +3064,13 @@ declare namespace shaka.ui {
3054
3064
  }
3055
3065
  }
3056
3066
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3067
+ declare namespace shaka.ui {
3068
+ class ChapterSelection extends shaka.ui.SettingsMenu {
3069
+ private noStructuralTyping_shaka_ui_ChapterSelection : any;
3070
+ constructor (parent : HTMLElement , controls : shaka.ui.Controls ) ;
3071
+ }
3072
+ }
3073
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3057
3074
  declare namespace shaka.ui {
3058
3075
  class ContextMenu extends shaka.ui.Element {
3059
3076
  private noStructuralTyping_shaka_ui_ContextMenu : any;
@@ -3599,6 +3616,7 @@ declare namespace shaka.util {
3599
3616
  */
3600
3617
  constructor (promise : Promise < T > , onAbort : shaka.extern.CreateSegmentIndexFunction ) ;
3601
3618
  abort ( ) : any ;
3619
+ aborted ( ) : boolean ;
3602
3620
  chain < U > (onSuccess : undefined | Function , onError ? : (a : any ) => any ) : shaka.util.AbortableOperation < U > ;
3603
3621
  finally (onFinal : any ) : any ;
3604
3622
  promise : Promise < T > ;
@@ -3653,6 +3671,8 @@ declare namespace shaka.util.CmcdManager {
3653
3671
  enum StreamingFormat {
3654
3672
  DASH = 'd' ,
3655
3673
  HLS = 'h' ,
3674
+ LOW_LATENCY_DASH = 'ld' ,
3675
+ LOW_LATENCY_HLS = 'lh' ,
3656
3676
  OTHER = 'o' ,
3657
3677
  SMOOTH = 's' ,
3658
3678
  }
@@ -3866,6 +3886,7 @@ declare namespace shaka.util.Error {
3866
3886
  FAILED_TO_CREATE_SESSION = 6005.0 ,
3867
3887
  FAILED_TO_GENERATE_LICENSE_REQUEST = 6006.0 ,
3868
3888
  HLS_COULD_NOT_GUESS_CODECS = 4025.0 ,
3889
+ HLS_EMPTY_MEDIA_PLAYLIST = 4053.0 ,
3869
3890
  HLS_INVALID_PLAYLIST_HIERARCHY = 4017.0 ,
3870
3891
  HLS_KEYFORMATS_NOT_SUPPORTED = 4026.0 ,
3871
3892
  HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED = 4041.0 ,
@@ -3880,6 +3901,7 @@ declare namespace shaka.util.Error {
3880
3901
  INDEXED_DB_ERROR = 9001.0 ,
3881
3902
  INDEXED_DB_INIT_TIMED_OUT = 9017.0 ,
3882
3903
  INIT_DATA_TRANSFORM_ERROR = 6016.0 ,
3904
+ INTERSTITIAL_AD_MANAGER_NOT_INITIALIZED = 10006.0 ,
3883
3905
  INVALID_HLS_TAG = 4016.0 ,
3884
3906
  INVALID_MP4_CEA = 2010.0 ,
3885
3907
  INVALID_MP4_TTML = 2007.0 ,
@@ -3950,6 +3972,7 @@ declare namespace shaka.util.Error {
3950
3972
  UNEXPECTED_TEST_REQUEST = 1009.0 ,
3951
3973
  UNSUPPORTED_EXTERNAL_THUMBNAILS_URI = 2017.0 ,
3952
3974
  UNSUPPORTED_SCHEME = 1000.0 ,
3975
+ VAST_INVALID_XML = 4001.0 ,
3953
3976
  VIDEO_ERROR = 3016.0 ,
3954
3977
  WEBM_CUES_ELEMENT_MISSING = 3007.0 ,
3955
3978
  WEBM_CUE_TIME_ELEMENT_MISSING = 3013.0 ,
@@ -4509,7 +4532,7 @@ declare namespace shaka.util {
4509
4532
  /**
4510
4533
  * Return the video information
4511
4534
  */
4512
- getVideoInfo ( ) : { codec : string | null , height : string | null , width : string | null } ;
4535
+ getVideoInfo ( ) : { codec : string | null , frameRate : string | null , height : string | null , width : string | null } ;
4513
4536
  /**
4514
4537
  * Return the video data
4515
4538
  */
@@ -4723,6 +4746,10 @@ declare namespace shaka.extern {
4723
4746
  type AdCuePoint = { end : number | null , start : number } ;
4724
4747
  }
4725
4748
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/ads.js
4749
+ declare namespace shaka.extern {
4750
+ type AdInterstitial = { canJump : boolean , endTime : number | null , id : string | null , isSkippable : boolean , once : boolean , playoutLimit : number | null , post : boolean , pre : boolean , resumeOffset : number | null , skipOffset : number | null , startTime : number , timelineRange : boolean , uri : string } ;
4751
+ }
4752
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/ads.js
4726
4753
  declare namespace shaka.extern {
4727
4754
  type AdsStats = { averageLoadTime : number , errors : number , loadTimes : number [] , playedCompletely : number , skipped : number , started : number } ;
4728
4755
  }
@@ -4775,6 +4802,8 @@ declare namespace shaka.extern {
4775
4802
  * in the player.
4776
4803
  */
4777
4804
  interface IAdManager extends EventTarget {
4805
+ addAdUrlInterstitial (url : string ) : Promise < any > ;
4806
+ addCustomInterstitial (interstitial : shaka.extern.AdInterstitial ) : any ;
4778
4807
  addMediaTailorTrackingUrl (url : string ) : any ;
4779
4808
  /**
4780
4809
  * Called by the Player to provide an updated configuration any time it
@@ -4795,9 +4824,10 @@ declare namespace shaka.extern {
4795
4824
  initServerSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
4796
4825
  onAssetUnload ( ) : any ;
4797
4826
  onCueMetadataChange (value : shaka.extern.MetadataFrame ) : any ;
4827
+ onDASHInterstitialMetadata (basePlayer : shaka.Player , baseVideo : HTMLMediaElement , region : shaka.extern.TimelineRegionInfo ) : any ;
4798
4828
  onDashTimedMetadata (region : shaka.extern.TimelineRegionInfo ) : any ;
4829
+ onHLSInterstitialMetadata (basePlayer : shaka.Player , baseVideo : HTMLMediaElement , interstitial : shaka.extern.HLSInterstitial ) : any ;
4799
4830
  onHlsTimedMetadata (metadata : shaka.extern.ID3Metadata , timestampOffset : number ) : any ;
4800
- onInterstitialMetadata (basePlayer : shaka.Player , baseVideo : HTMLMediaElement , interstitial : shaka.extern.Interstitial ) : any ;
4801
4831
  /**
4802
4832
  * Fired when the manifest is updated.
4803
4833
  */
@@ -4938,7 +4968,7 @@ declare namespace shaka.extern {
4938
4968
  }
4939
4969
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4940
4970
  declare namespace shaka.extern {
4941
- type Manifest = { gapCount : number , ignoreManifestTimestampsInSegmentsMode : boolean , imageStreams : shaka.extern.Stream [] , isLowLatency : boolean , minBufferTime : number , nextUrl : string | null , offlineSessionIds : string [] , periodCount : number , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , serviceDescription : shaka.extern.ServiceDescription | null , textStreams : shaka.extern.Stream [] , type : string , variants : shaka.extern.Variant [] } ;
4971
+ type Manifest = { gapCount : number , ignoreManifestTimestampsInSegmentsMode : boolean , imageStreams : shaka.extern.Stream [] , isLowLatency : boolean , minBufferTime : number , nextUrl : string | null , offlineSessionIds : string [] , periodCount : number , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , serviceDescription : shaka.extern.ServiceDescription | null , startTime : number | null , textStreams : shaka.extern.Stream [] , type : string , variants : shaka.extern.Variant [] } ;
4942
4972
  }
4943
4973
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4944
4974
  declare namespace shaka.extern {
@@ -5030,7 +5060,7 @@ declare namespace shaka.extern {
5030
5060
  * Called by the Player to provide an updated configuration any time the
5031
5061
  * configuration changes. Will be called at least once before start().
5032
5062
  */
5033
- configure (config : shaka.extern.ManifestConfiguration ) : any ;
5063
+ configure (config : shaka.extern.ManifestConfiguration , isPreloadFn ? : ( ) => boolean ) : any ;
5034
5064
  /**
5035
5065
  * Tells the parser that the expiration time of an EME session has changed.
5036
5066
  * Implementing this is optional.
@@ -5078,7 +5108,7 @@ declare namespace shaka.extern.ManifestParser {
5078
5108
  }
5079
5109
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
5080
5110
  declare namespace shaka.extern.ManifestParser {
5081
- type PlayerInterface = { disableStream : (a : shaka.extern.Stream ) => any , enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , getBandwidthEstimate : ( ) => number , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , networkingEngine : shaka.net.NetworkingEngine , newDrmInfo : (a : shaka.extern.Stream ) => any , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onManifestUpdated : ( ) => any , onMetadata : (a : string , b : number , c : number | null , d : shaka.extern.MetadataFrame [] ) => any , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
5111
+ type PlayerInterface = { addFont : (a : string , b : string ) => any , disableStream : (a : shaka.extern.Stream ) => any , enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , getBandwidthEstimate : ( ) => number , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , networkingEngine : shaka.net.NetworkingEngine , newDrmInfo : (a : shaka.extern.Stream ) => any , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onManifestUpdated : ( ) => any , onMetadata : (a : string , b : number , c : number | null , d : shaka.extern.MetadataFrame [] ) => any , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
5082
5112
  }
5083
5113
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/mp4_parser.js
5084
5114
  declare namespace shaka.extern {
@@ -5098,7 +5128,7 @@ declare namespace shaka.extern {
5098
5128
  }
5099
5129
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
5100
5130
  declare namespace shaka.extern {
5101
- type RequestContext = { segment ? : shaka.media.SegmentReference | null , stream ? : shaka.extern.Stream , type ? : shaka.net.NetworkingEngine.AdvancedRequestType } ;
5131
+ type RequestContext = { isPreload ? : boolean , segment ? : shaka.media.SegmentReference | null , stream ? : shaka.extern.Stream , type ? : shaka.net.NetworkingEngine.AdvancedRequestType } ;
5102
5132
  }
5103
5133
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
5104
5134
  declare namespace shaka.extern {
@@ -5135,7 +5165,11 @@ declare namespace shaka.extern {
5135
5165
  }
5136
5166
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
5137
5167
  declare namespace shaka.extern {
5138
- type SchemePlugin = (a : string , b : shaka.extern.Request , c : shaka.net.NetworkingEngine.RequestType , d : shaka.extern.ProgressUpdated , e : shaka.extern.HeadersReceived ) => shaka.extern.IAbortableOperation < shaka.extern.Response > ;
5168
+ type SchemePlugin = (a : string , b : shaka.extern.Request , c : shaka.net.NetworkingEngine.RequestType , d : shaka.extern.ProgressUpdated , e : shaka.extern.HeadersReceived , f : shaka.extern.SchemePluginConfig ) => shaka.extern.IAbortableOperation < shaka.extern.Response > ;
5169
+ }
5170
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
5171
+ declare namespace shaka.extern {
5172
+ type SchemePluginConfig = { minBytesForProgressEvents ? : number } ;
5139
5173
  }
5140
5174
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
5141
5175
  declare namespace shaka.extern {
@@ -5353,7 +5387,7 @@ declare namespace shaka.extern {
5353
5387
  }
5354
5388
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5355
5389
  declare namespace shaka.extern {
5356
- type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , cacheLoadThreshold : number , clearBufferSwitch : boolean , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , minTimeToSwitch : number , restrictToElementSize : boolean , restrictToScreenSize : boolean , restrictions : shaka.extern.Restrictions , safeMarginSwitch : number , switchInterval : number , useNetworkInformation : boolean } ;
5390
+ type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , cacheLoadThreshold : number , clearBufferSwitch : boolean , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , minTimeToSwitch : number , preferNetworkInformationBandwidth : boolean , restrictToElementSize : boolean , restrictToScreenSize : boolean , restrictions : shaka.extern.Restrictions , safeMarginSwitch : number , switchInterval : number , useNetworkInformation : boolean } ;
5357
5391
  }
5358
5392
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5359
5393
  declare namespace shaka.extern {
@@ -5413,19 +5447,19 @@ declare namespace shaka.extern {
5413
5447
  }
5414
5448
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5415
5449
  declare namespace shaka.extern {
5416
- type HlsManifestConfiguration = { allowLowLatencyByteRangeOptimization : boolean , defaultAudioCodec : string , defaultVideoCodec : string , disableClosedCaptionsDetection : boolean , disableCodecGuessing : boolean , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreManifestProgramDateTimeForTypes : string [] , ignoreManifestTimestampsInSegmentsMode : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , sequenceMode : boolean , useSafariBehaviorForLive : boolean } ;
5450
+ type HLSInterstitial = { endTime : number | null , startTime : number , values : shaka.extern.MetadataFrame [] } ;
5417
5451
  }
5418
5452
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5419
5453
  declare namespace shaka.extern {
5420
- type ID3Metadata = { cueTime : number | null , data : Uint8Array , dts : number | null , frames : shaka.extern.MetadataFrame [] , pts : number | null } ;
5454
+ type HlsManifestConfiguration = { allowLowLatencyByteRangeOptimization : boolean , defaultAudioCodec : string , defaultVideoCodec : string , disableClosedCaptionsDetection : boolean , disableCodecGuessing : boolean , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreManifestProgramDateTimeForTypes : string [] , ignoreManifestTimestampsInSegmentsMode : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , sequenceMode : boolean } ;
5421
5455
  }
5422
5456
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5423
5457
  declare namespace shaka.extern {
5424
- type InitDataTransform = (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array ;
5458
+ type ID3Metadata = { cueTime : number | null , data : Uint8Array , dts : number | null , frames : shaka.extern.MetadataFrame [] , pts : number | null } ;
5425
5459
  }
5426
5460
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5427
5461
  declare namespace shaka.extern {
5428
- type Interstitial = { endTime : number | null , startTime : number , values : shaka.extern.MetadataFrame [] } ;
5462
+ type InitDataTransform = (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array ;
5429
5463
  }
5430
5464
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5431
5465
  declare namespace shaka.extern {
@@ -5472,6 +5506,14 @@ declare namespace shaka.extern {
5472
5506
  type PersistentSessionMetadata = { initData : Uint8Array | null , initDataType : string | null , sessionId : string } ;
5473
5507
  }
5474
5508
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5509
+ declare namespace shaka.extern {
5510
+ type PlaybackInfo = { audio : shaka.extern.PlaybackStreamInfo | null , text : shaka.extern.PlaybackStreamInfo | null , video : shaka.extern.PlaybackStreamInfo | null } ;
5511
+ }
5512
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5513
+ declare namespace shaka.extern {
5514
+ type PlaybackStreamInfo = { bandwidth : number , codecs : string , height : number | null , mimeType : string , width : number | null } ;
5515
+ }
5516
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5475
5517
  declare namespace shaka.extern {
5476
5518
  type PlayerConfiguration = { abr : shaka.extern.AbrConfiguration , abrFactory : shaka.extern.AbrManager.Factory , ads : shaka.extern.AdsConfiguration , autoShowText : shaka.config.AutoShowText , cmcd : shaka.extern.CmcdConfiguration , cmsd : shaka.extern.CmsdConfiguration , drm : shaka.extern.DrmConfiguration , lcevc : shaka.extern.LcevcConfiguration , manifest : shaka.extern.ManifestConfiguration , mediaSource : shaka.extern.MediaSourceConfiguration , offline : shaka.extern.OfflineConfiguration , playRangeEnd : number , playRangeStart : number , preferForcedSubs : boolean , preferSpatialAudio : boolean , preferredAudioChannelCount : number , preferredAudioCodecs : string [] , preferredAudioLabel : string , preferredAudioLanguage : string , preferredDecodingAttributes : string [] , preferredTextLanguage : string , preferredTextRole : string , preferredVariantRole : string , preferredVideoCodecs : string [] , preferredVideoHdrLevel : string , preferredVideoLabel : string , preferredVideoLayout : string , restrictions : shaka.extern.Restrictions , streaming : shaka.extern.StreamingConfiguration , textDisplayFactory : shaka.extern.TextDisplayer.Factory , textDisplayer : shaka.extern.TextDisplayerConfiguration } ;
5477
5519
  }
@@ -5493,7 +5535,7 @@ declare namespace shaka.extern {
5493
5535
  }
5494
5536
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5495
5537
  declare namespace shaka.extern {
5496
- 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 , 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 } ;
5538
+ 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 } ;
5497
5539
  }
5498
5540
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5499
5541
  declare namespace shaka.extern {
@@ -5587,7 +5629,7 @@ declare namespace shaka.extern {
5587
5629
  * @param timeContext The time information that should be used to adjust the times values for each cue.
5588
5630
  * @param uri The media uri.
5589
5631
  */
5590
- parseMedia (data : Uint8Array , timeContext : shaka.extern.TextParser.TimeContext , uri : string | undefined | null ) : shaka.text.Cue [] ;
5632
+ parseMedia (data : Uint8Array , timeContext : shaka.extern.TextParser.TimeContext , uri : string | undefined | null , images : string [] ) : shaka.text.Cue [] ;
5591
5633
  /**
5592
5634
  * Notifies the manifest type.
5593
5635
  */
@@ -5769,7 +5811,7 @@ nameSpan : HTMLElement ;
5769
5811
  }
5770
5812
  // Generated from /home/runner/work/shaka-player/shaka-player/ui/externs/ui.js
5771
5813
  declare namespace shaka.extern {
5772
- type UIConfiguration = { adStatisticsList : string [] , addBigPlayButton : boolean , addSeekBar : boolean , castAndroidReceiverCompatible : boolean , castReceiverAppId : string , clearBufferOnQualityChange : boolean , contextMenuElements : string [] , controlPanelElements : string [] , customContextMenu : boolean , defaultVrProjectionMode : string , displayInVrMode : boolean , doubleClickForFullscreen : boolean , enableFullscreenOnRotation : boolean , enableKeyboardPlaybackControls : boolean , enableTooltips : boolean , fadeDelay : number , fastForwardRates : number [] , forceLandscapeOnFullscreen : boolean , fullScreenElement : HTMLElement | null , keyboardLargeSeekDistance : number , keyboardSeekDistance : number , overflowMenuButtons : string [] , playbackRates : number [] , preferDocumentPictureInPicture : boolean , refreshTickInSeconds : number , rewindRates : number [] , seekBarColors : shaka.extern.UISeekBarColors , seekOnTaps : boolean , showAudioChannelCountVariants : boolean , showUnbufferedStart : boolean , singleClickForPlayAndPause : boolean , statisticsList : string [] , tapSeekDistance : number , textTrackLabelFormat : shaka.ui.Overlay.TrackLabelFormat , trackLabelFormat : shaka.ui.Overlay.TrackLabelFormat , volumeBarColors : shaka.extern.UIVolumeBarColors } ;
5814
+ type UIConfiguration = { adStatisticsList : string [] , addBigPlayButton : boolean , addSeekBar : boolean , castAndroidReceiverCompatible : boolean , castReceiverAppId : string , clearBufferOnQualityChange : boolean , contextMenuElements : string [] , controlPanelElements : string [] , customContextMenu : boolean , defaultVrProjectionMode : string , displayInVrMode : boolean , doubleClickForFullscreen : boolean , enableFullscreenOnRotation : boolean , enableKeyboardPlaybackControls : boolean , enableTooltips : boolean , fadeDelay : number , fastForwardRates : number [] , forceLandscapeOnFullscreen : boolean , fullScreenElement : HTMLElement | null , keyboardLargeSeekDistance : number , keyboardSeekDistance : number , overflowMenuButtons : string [] , playbackRates : number [] , preferDocumentPictureInPicture : boolean , refreshTickInSeconds : number , rewindRates : number [] , seekBarColors : shaka.extern.UISeekBarColors , seekOnTaps : boolean , setupMediaSession : boolean , showAudioChannelCountVariants : boolean , showUnbufferedStart : boolean , singleClickForPlayAndPause : boolean , statisticsList : string [] , tapSeekDistance : number , textTrackLabelFormat : shaka.ui.Overlay.TrackLabelFormat , trackLabelFormat : shaka.ui.Overlay.TrackLabelFormat , volumeBarColors : shaka.extern.UIVolumeBarColors } ;
5773
5815
  }
5774
5816
  // Generated from /home/runner/work/shaka-player/shaka-player/ui/externs/ui.js
5775
5817
  declare namespace shaka.extern {