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.debug.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.debug.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.debug.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.debug.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.debug.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.debug.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.debug.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 {
@@ -344,6 +344,7 @@ shaka.util.Error.Code = {
344
344
  'DASH_CONFLICTING_AES_128': 4050,
345
345
  'DASH_UNSUPPORTED_AES_128': 4051,
346
346
  'DASH_INVALID_PATCH': 4052,
347
+ 'HLS_EMPTY_MEDIA_PLAYLIST': 4053,
347
348
  'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
348
349
  'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
349
350
  'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
@@ -396,7 +397,9 @@ shaka.util.Error.Code = {
396
397
  'SS_IMA_SDK_MISSING': 10002,
397
398
  'SS_AD_MANAGER_NOT_INITIALIZED': 10003,
398
399
  'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004,
399
- 'MT_AD_MANAGER_NOT_INITIALIZED': 10005
400
+ 'MT_AD_MANAGER_NOT_INITIALIZED': 10005,
401
+ 'INTERSTITIAL_AD_MANAGER_NOT_INITIALIZED': 10006,
402
+ 'VAST_INVALID_XML': 4001
400
403
  };
401
404
  /**
402
405
  * A timer allows a single function to be executed at a later time or at
@@ -987,6 +990,14 @@ shaka.text.Cue = class {
987
990
  * @suppress {checkTypes} since we must use [] and "in" with a struct type.
988
991
  */
989
992
  static equal(cue1, cue2) {}
993
+ /**
994
+ * Parses cue payload, searches for styling entities and, if needed,
995
+ * modifies original payload and creates nested cues to better represent
996
+ * styling found in payload. All changes are done in-place.
997
+ * @param {!shaka.text.Cue} cue
998
+ * @param {!Map<string, !shaka.text.Cue>=} styles
999
+ */
1000
+ static parseCuePayload(cue, styles) {}
990
1001
  };
991
1002
  /**
992
1003
  * The start time of the cue in seconds, relative to the start of the
@@ -1560,6 +1571,10 @@ shaka.util.AbortableOperation = class {
1560
1571
  * be rejected.
1561
1572
  */
1562
1573
  constructor(promise, onAbort) {}
1574
+ /**
1575
+ * @return {boolean} True if the operation has been aborted.
1576
+ */
1577
+ aborted() {}
1563
1578
  /**
1564
1579
  * @param {!shaka.util.Error} error
1565
1580
  * @return {!shaka.util.AbortableOperation} An operation which has already
@@ -1799,7 +1814,13 @@ shaka.net.NetworkingEngine.AdvancedRequestType = {
1799
1814
  'MASTER_PLAYLIST': 3,
1800
1815
  'MPD': 4,
1801
1816
  'MSS': 5,
1802
- 'MPD_PATCH': 6
1817
+ 'MPD_PATCH': 6,
1818
+ 'MEDIATAILOR_SESSION_INFO': 7,
1819
+ 'MEDIATAILOR_TRACKING_INFO': 8,
1820
+ 'MEDIATAILOR_STATIC_RESOURCE': 9,
1821
+ 'MEDIATAILOR_TRACKING_EVENT': 10,
1822
+ 'INTERSTITIAL_ASSET_LIST': 11,
1823
+ 'INTERSTITIAL_AD_URL': 12
1803
1824
  };
1804
1825
  /**
1805
1826
  * Priority level for network scheme plugins.
@@ -2452,7 +2473,8 @@ shaka.util.TsParser = class {
2452
2473
  getVideoResolution() {}
2453
2474
  /**
2454
2475
  * Return the video information
2455
- * @return {{height: ?string, width: ?string, codec: ?string}}
2476
+ * @return {{height: ?string, width: ?string, codec: ?string,
2477
+ * frameRate: ?string}}
2456
2478
  */
2457
2479
  getVideoInfo() {}
2458
2480
  /**
@@ -3223,7 +3245,9 @@ shaka.text.WebVttGenerator = class {
3223
3245
  */
3224
3246
  shaka.util.CmcdManager.StreamingFormat = {
3225
3247
  DASH: 'd',
3248
+ LOW_LATENCY_DASH: 'ld',
3226
3249
  HLS: 'h',
3250
+ LOW_LATENCY_HLS: 'lh',
3227
3251
  SMOOTH: 's',
3228
3252
  OTHER: 'o'
3229
3253
  };
@@ -3278,10 +3302,12 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
3278
3302
  * When provided, the player will attach to <code>mediaElement</code>,
3279
3303
  * similar to calling <code>attach</code>. When not provided, the player
3280
3304
  * will remain detached.
3305
+ * @param {HTMLElement=} videoContainer
3306
+ * The videoContainer to construct UITextDisplayer
3281
3307
  * @param {function(shaka.Player)=} dependencyInjector Optional callback
3282
3308
  * which is called to inject mocks into the Player. Used for testing.
3283
3309
  */
3284
- constructor(mediaElement, dependencyInjector) {}
3310
+ constructor(mediaElement, videoContainer, dependencyInjector) {}
3285
3311
  /**
3286
3312
  * After destruction, a Player object cannot be used again.
3287
3313
  * @override
@@ -3868,6 +3894,13 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
3868
3894
  * @param {HTMLElement} videoContainer
3869
3895
  */
3870
3896
  setVideoContainer(videoContainer) {}
3897
+ /**
3898
+ * Load a new font on the page. If the font was already loaded, it does
3899
+ * nothing.
3900
+ * @param {string} name
3901
+ * @param {string} url
3902
+ */
3903
+ addFont(name, url) {}
3871
3904
  };
3872
3905
  /**
3873
3906
  * In order to know what method of loading the player used for some content, we
@@ -4214,11 +4247,12 @@ shaka.ads.InterstitialAd = class {
4214
4247
  /**
4215
4248
  * @param {HTMLMediaElement} video
4216
4249
  * @param {boolean} isSkippable
4250
+ * @param {?number} skipOffset
4217
4251
  * @param {function()} onSkip
4218
4252
  * @param {number} sequenceLength
4219
4253
  * @param {number} adPosition
4220
4254
  */
4221
- constructor(video, isSkippable, onSkip, sequenceLength, adPosition) {}
4255
+ constructor(video, isSkippable, skipOffset, onSkip, sequenceLength, adPosition) {}
4222
4256
  /**
4223
4257
  * @override
4224
4258
  */
@@ -4720,7 +4754,19 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
4720
4754
  /**
4721
4755
  * @override
4722
4756
  */
4723
- onInterstitialMetadata(basePlayer, baseVideo, interstitial) {}
4757
+ onHLSInterstitialMetadata(basePlayer, baseVideo, interstitial) {}
4758
+ /**
4759
+ * @override
4760
+ */
4761
+ onDASHInterstitialMetadata(basePlayer, baseVideo, region) {}
4762
+ /**
4763
+ * @override
4764
+ */
4765
+ addCustomInterstitial(interstitial) {}
4766
+ /**
4767
+ * @override
4768
+ */
4769
+ addAdUrlInterstitial(url) {}
4724
4770
  };
4725
4771
  /**
4726
4772
  * The event name for when a sequence of ads has been loaded.
@@ -5184,9 +5230,11 @@ shaka.dash.DashParser = class {
5184
5230
  /** Creates a new DASH parser. */
5185
5231
  constructor() {}
5186
5232
  /**
5233
+ * @param {shaka.extern.ManifestConfiguration} config
5234
+ * @param {(function():boolean)=} isPreloadFn
5187
5235
  * @override
5188
5236
  */
5189
- configure(config) {}
5237
+ configure(config, isPreloadFn) {}
5190
5238
  /**
5191
5239
  * @override
5192
5240
  */
@@ -5265,9 +5313,11 @@ shaka.hls.HlsParser = class {
5265
5313
  */
5266
5314
  constructor() {}
5267
5315
  /**
5316
+ * @param {shaka.extern.ManifestConfiguration} config
5317
+ * @param {(function():boolean)=} isPreloadFn
5268
5318
  * @override
5269
5319
  */
5270
- configure(config) {}
5320
+ configure(config, isPreloadFn) {}
5271
5321
  /**
5272
5322
  * @override
5273
5323
  */
@@ -5305,9 +5355,11 @@ shaka.mss.MssParser = class {
5305
5355
  /** Creates a new MSS parser. */
5306
5356
  constructor() {}
5307
5357
  /**
5358
+ * @param {shaka.extern.ManifestConfiguration} config
5359
+ * @param {(function():boolean)=} isPreloadFn
5308
5360
  * @override
5309
5361
  */
5310
- configure(config) {}
5362
+ configure(config, isPreloadFn) {}
5311
5363
  /**
5312
5364
  * @override
5313
5365
  */
@@ -5345,9 +5397,10 @@ shaka.net.HttpFetchPlugin = class {
5345
5397
  * progress event happened.
5346
5398
  * @param {shaka.extern.HeadersReceived} headersReceived Called when the
5347
5399
  * headers for the download are received, but before the body is.
5400
+ * @param {shaka.extern.SchemePluginConfig} config
5348
5401
  * @return {!shaka.extern.IAbortableOperation.<shaka.extern.Response>}
5349
5402
  */
5350
- static parse(uri, request, requestType, progressUpdated, headersReceived) {}
5403
+ static parse(uri, request, requestType, progressUpdated, headersReceived, config) {}
5351
5404
  /**
5352
5405
  * Determine if the Fetch API is supported in the browser. Note: this is
5353
5406
  * deliberately exposed as a method to allow the client app to use the same
@@ -5368,9 +5421,10 @@ shaka.net.HttpXHRPlugin = class {
5368
5421
  * progress event happened.
5369
5422
  * @param {shaka.extern.HeadersReceived} headersReceived Called when the
5370
5423
  * headers for the download are received, but before the body is.
5424
+ * @param {shaka.extern.SchemePluginConfig} config
5371
5425
  * @return {!shaka.extern.IAbortableOperation.<shaka.extern.Response>}
5372
5426
  */
5373
- static parse(uri, request, requestType, progressUpdated, headersReceived) {}
5427
+ static parse(uri, request, requestType, progressUpdated, headersReceived, config) {}
5374
5428
  };
5375
5429
  /**
5376
5430
  * StorageMuxer is responsible for managing StorageMechanisms and addressing
@@ -5555,20 +5609,6 @@ shaka.polyfill = class {
5555
5609
  */
5556
5610
  static register(polyfill, priority) {}
5557
5611
  };
5558
- /**
5559
- * @summary A polyfill for systems that do not implement AbortController.
5560
- * This is used both with the fetch API for HTTP requests and inside the HLS
5561
- * parser.
5562
- * @extends AbortController
5563
- */
5564
- shaka.polyfill.AbortController = class {
5565
- /**
5566
- * Install the polyfill if needed.
5567
- */
5568
- static install() {}
5569
- /** */
5570
- constructor() {}
5571
- };
5572
5612
  /**
5573
5613
  * @summary A polyfill to add support for the ARIAMixin interface mixin, for
5574
5614
  * browsers that do not implement it (e.g. Firefox).
@@ -5802,7 +5842,7 @@ shaka.text.TtmlTextParser = class {
5802
5842
  /**
5803
5843
  * @override
5804
5844
  */
5805
- parseMedia(data, time, uri) {}
5845
+ parseMedia(data, time, uri, images) {}
5806
5846
  };
5807
5847
  /**
5808
5848
  * @implements {shaka.extern.TextParser}
@@ -6743,6 +6783,17 @@ shaka.ui.CastButton = class extends shaka.ui.Element {
6743
6783
  */
6744
6784
  constructor(parent, controls) {}
6745
6785
  };
6786
+ /**
6787
+ * @extends {shaka.ui.SettingsMenu}
6788
+ * @final
6789
+ */
6790
+ shaka.ui.ChapterSelection = class extends shaka.ui.SettingsMenu {
6791
+ /**
6792
+ * @param {!HTMLElement} parent
6793
+ * @param {!shaka.ui.Controls} controls
6794
+ */
6795
+ constructor(parent, controls) {}
6796
+ };
6746
6797
  /**
6747
6798
  * @extends {shaka.ui.Element}
6748
6799
  * @final