shaka-player 4.11.11 → 4.12.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 (81) hide show
  1. package/AUTHORS +1 -0
  2. package/CONTRIBUTORS +1 -0
  3. package/README.md +47 -0
  4. package/dist/deps.js +8 -8
  5. package/dist/locales.js +36 -36
  6. package/dist/shaka-player.compiled.d.ts +36 -13
  7. package/dist/shaka-player.compiled.debug.d.ts +36 -13
  8. package/dist/shaka-player.compiled.debug.externs.js +46 -11
  9. package/dist/shaka-player.compiled.debug.js +564 -538
  10. package/dist/shaka-player.compiled.debug.map +4 -4
  11. package/dist/shaka-player.compiled.externs.js +46 -11
  12. package/dist/shaka-player.compiled.js +1362 -1344
  13. package/dist/shaka-player.compiled.map +4 -4
  14. package/dist/shaka-player.ui.d.ts +37 -14
  15. package/dist/shaka-player.ui.debug.d.ts +37 -14
  16. package/dist/shaka-player.ui.debug.externs.js +46 -11
  17. package/dist/shaka-player.ui.debug.js +607 -575
  18. package/dist/shaka-player.ui.debug.map +4 -4
  19. package/dist/shaka-player.ui.externs.js +46 -11
  20. package/dist/shaka-player.ui.js +1581 -1558
  21. package/dist/shaka-player.ui.map +4 -4
  22. package/externs/shaka/ads.js +9 -0
  23. package/externs/shaka/manifest.js +26 -1
  24. package/externs/shaka/offline.js +8 -2
  25. package/externs/shaka/player.js +80 -28
  26. package/externs/shaka/text.js +9 -0
  27. package/lib/ads/ad_manager.js +6 -0
  28. package/lib/ads/ad_utils.js +1 -0
  29. package/lib/ads/client_side_ad.js +8 -0
  30. package/lib/ads/interstitial_ad.js +25 -4
  31. package/lib/ads/interstitial_ad_manager.js +146 -34
  32. package/lib/ads/media_tailor_ad.js +8 -0
  33. package/lib/ads/server_side_ad.js +8 -0
  34. package/lib/dash/content_protection.js +31 -0
  35. package/lib/dash/dash_parser.js +11 -10
  36. package/lib/dash/segment_template.js +6 -2
  37. package/lib/hls/hls_parser.js +63 -49
  38. package/lib/media/adaptation_set.js +11 -17
  39. package/lib/media/adaptation_set_criteria.js +20 -50
  40. package/lib/media/drm_engine.js +3 -1
  41. package/lib/media/manifest_filterer.js +2 -1
  42. package/lib/media/media_source_engine.js +295 -28
  43. package/lib/media/playhead.js +3 -1
  44. package/lib/media/preload_manager.js +11 -7
  45. package/lib/media/segment_prefetch.js +32 -13
  46. package/lib/media/segment_reference.js +3 -3
  47. package/lib/media/streaming_engine.js +88 -263
  48. package/lib/mss/mss_parser.js +1 -0
  49. package/lib/offline/download_info.js +5 -1
  50. package/lib/offline/indexeddb/storage_mechanism.js +4 -3
  51. package/lib/offline/indexeddb/v1_storage_cell.js +2 -0
  52. package/lib/offline/indexeddb/v2_storage_cell.js +2 -0
  53. package/lib/offline/manifest_converter.js +4 -0
  54. package/lib/offline/storage.js +277 -5
  55. package/lib/player.js +267 -94
  56. package/lib/polyfill/media_capabilities.js +2 -1
  57. package/lib/polyfill/mediasource.js +12 -0
  58. package/lib/text/cue.js +1 -0
  59. package/lib/text/simple_text_displayer.js +7 -0
  60. package/lib/text/stub_text_displayer.js +7 -0
  61. package/lib/text/ui_text_displayer.js +12 -0
  62. package/lib/util/dom_utils.js +14 -0
  63. package/lib/util/error.js +5 -0
  64. package/lib/util/mp4_generator.js +1 -1
  65. package/lib/util/periods.js +2 -0
  66. package/lib/util/platform.js +18 -3
  67. package/lib/util/player_configuration.js +11 -4
  68. package/lib/util/stream_utils.js +20 -1
  69. package/package.json +1 -1
  70. package/ui/ad_statistics_button.js +12 -0
  71. package/ui/controls.js +48 -14
  72. package/ui/externs/ui.js +8 -1
  73. package/ui/fullscreen_button.js +9 -0
  74. package/ui/language_utils.js +3 -1
  75. package/ui/locales/be.json +49 -0
  76. package/ui/mute_button.js +42 -11
  77. package/ui/remote_button.js +42 -17
  78. package/ui/seek_bar.js +3 -0
  79. package/ui/skip_ad_button.js +16 -11
  80. package/ui/statistics_button.js +12 -0
  81. package/ui/ui.js +10 -5
package/AUTHORS CHANGED
@@ -45,6 +45,7 @@ Gil Gonen <gil.gonen@gmail.com>
45
45
  Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
46
46
  Giuseppe Samela <giuseppe.samela@gmail.com>
47
47
  Google Inc. <*@google.com>
48
+ Hassan Bashir <has.992.sky@gmail.com>
48
49
  Ivan Kohut <i.kohut@yahoo.com>
49
50
  Itay Kinnrot <Itay.Kinnrot@Kaltura.com>
50
51
  Jaeseok Lee <devsunb@gmail.com>
package/CONTRIBUTORS CHANGED
@@ -63,6 +63,7 @@ Gerardo Meola <meola.gerardo@gmail.com>
63
63
  Gil Gonen <gil.gonen@gmail.com>
64
64
  Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
65
65
  Giuseppe Samela <giuseppe.samela@gmail.com>
66
+ Hassan Bashir <has.992.sky@gmail.com>
66
67
  Hichem Taoufik <hichem@code-it.fr>
67
68
  Ivan Kohut <i.kohut@yahoo.com>
68
69
  Itay Kinnrot <itay.kinnrot@kaltura.com>
package/README.md CHANGED
@@ -148,6 +148,53 @@ HLS features supported:
148
148
  HLS features **not** supported:
149
149
  - X-SNAP attribute in interstitials
150
150
 
151
+ <details>
152
+ <summary>
153
+ <h3>Supported HLS tags</h3>
154
+ </summary>
155
+
156
+ For details on the HLS format and these tags' meanings, see https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis
157
+
158
+ <h4> Multivariant Playlist tags</h4>
159
+
160
+ - `#EXT-X-STREAM-INF:<attribute-list>`
161
+ `<URI>`
162
+ - `#EXT-X-MEDIA:<attribute-list>`
163
+ - `#EXT-X-IMAGE-STREAM-INF:<attribute-list>`
164
+ - `#EXT-X-I-FRAME-STREAM-INF:<attribute-list>`
165
+ - `#EXT-X-SESSION-DATA:<attribute-list>`
166
+ - `#EXT-X-SESSION-KEY:<attribute-list>` EME Key-System selection and preloading
167
+ - `#EXT-X-START:TIME-OFFSET=<n>`
168
+ - `#EXT-X-CONTENT-STEERING:<attribute-list>` Content Steering
169
+ - `#EXT-X-DEFINE:<attribute-list>` Variable Substitution (`NAME,VALUE,QUERYPARAM` attributes)
170
+
171
+ <h4>Media Playlist tags</h4>
172
+
173
+ - `#EXTM3U`
174
+ - `#EXTINF:<duration>,[<title>]`
175
+ - `#EXT-X-PLAYLIST-TYPE:<type`
176
+ - `#EXT-X-ENDLIST`
177
+ - `#EXT-X-MEDIA-SEQUENCE=<n>`
178
+ - `#EXT-X-TARGETDURATION=<n>`
179
+ - `#EXT-X-DISCONTINUITY`
180
+ - `#EXT-X-DISCONTINUITY-SEQUENCE=<n>`
181
+ - `#EXT-X-BYTERANGE=<n>[@<o>]`
182
+ - `#EXT-X-MAP:<attribute-list>`
183
+ - `#EXT-X-KEY:<attribute-list>` (`KEYFORMAT="identity",METHOD=SAMPLE-AES` is only supports with MP4 segments)
184
+ - `#EXT-X-PROGRAM-DATE-TIME:<attribute-list>`
185
+ - `#EXT-X-START:TIME-OFFSET=<n>`
186
+ - `#EXT-X-SERVER-CONTROL:<attribute-list>`
187
+ - `#EXT-X-PART-INF:PART-TARGET=<n>`
188
+ - `#EXT-X-PART:<attribute-list>`
189
+ - `#EXT-X-SKIP:<attribute-list>` Delta Playlists
190
+ - `#EXT-X-DATERANGE:<attribute-list>` Metadata
191
+ - `#EXT-X-DEFINE:<attribute-list>` Variable Import and Substitution (`NAME,VALUE,IMPORT,QUERYPARAM` attributes)
192
+ - `#EXT-X-GAP`
193
+ - `#EXT-X-PRELOAD-HINT:<attribute-list>`
194
+ - `#EXT-X-BITRATE`
195
+
196
+ </details>
197
+
151
198
 
152
199
  ## MPEG-5 Part2 LCEVC Support
153
200
 
package/dist/deps.js CHANGED
@@ -50,7 +50,7 @@ goog.addDependency('../../../../lib/cea/sei_processor.js', ['shaka.cea.SeiProces
50
50
  goog.addDependency('../../../../lib/cea/ts_cea_parser.js', ['shaka.cea.TsCeaParser'], ['shaka.cea.CeaUtils', 'shaka.cea.SeiProcessor', 'shaka.media.ClosedCaptionParser', 'shaka.util.BufferUtils', 'shaka.util.TsParser'], {'lang': 'es6'});
51
51
  goog.addDependency('../../../../lib/config/auto_show_text.js', ['shaka.config.AutoShowText'], [], {'lang': 'es5'});
52
52
  goog.addDependency('../../../../lib/config/codec_switching_strategy.js', ['shaka.config.CodecSwitchingStrategy'], [], {'lang': 'es5'});
53
- goog.addDependency('../../../../lib/dash/content_protection.js', ['shaka.dash.ContentProtection'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.ManifestParserUtils', 'shaka.util.Pssh', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
53
+ goog.addDependency('../../../../lib/dash/content_protection.js', ['shaka.dash.ContentProtection'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.ManifestParserUtils', 'shaka.util.Platform', 'shaka.util.Pssh', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
54
54
  goog.addDependency('../../../../lib/dash/dash_parser.js', ['shaka.dash.DashParser'], ['goog.Uri', 'goog.asserts', 'shaka.Deprecate', 'shaka.abr.Ewma', 'shaka.dash.ContentProtection', 'shaka.dash.MpdUtils', 'shaka.dash.SegmentBase', 'shaka.dash.SegmentList', 'shaka.dash.SegmentTemplate', 'shaka.log', 'shaka.media.Capabilities', 'shaka.media.ManifestParser', 'shaka.media.PresentationTimeline', 'shaka.media.SegmentIndex', 'shaka.media.SegmentUtils', 'shaka.net.NetworkingEngine', 'shaka.text.TextEngine', 'shaka.util.ContentSteeringManager', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.Functional', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Networking', 'shaka.util.ObjectUtils', 'shaka.util.OperationManager', 'shaka.util.PeriodCombiner', 'shaka.util.PlayerConfiguration', 'shaka.util.StreamUtils', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.Timer', 'shaka.util.XmlUtils'], {'lang': 'es8'});
55
55
  goog.addDependency('../../../../lib/dash/mpd_utils.js', ['shaka.dash.MpdUtils'], ['goog.asserts', 'shaka.log', 'shaka.net.NetworkingEngine', 'shaka.util.AbortableOperation', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.ManifestParserUtils', 'shaka.util.TXml'], {'lang': 'es6'});
56
56
  goog.addDependency('../../../../lib/dash/segment_base.js', ['shaka.dash.SegmentBase'], ['goog.asserts', 'shaka.dash.MpdUtils', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.Mp4SegmentIndexParser', 'shaka.media.SegmentIndex', 'shaka.media.WebmSegmentIndexParser', 'shaka.util.Error', 'shaka.util.ManifestParserUtils', 'shaka.util.ObjectUtils', 'shaka.util.StringUtils', 'shaka.util.TXml'], {'lang': 'es8'});
@@ -77,7 +77,7 @@ goog.addDependency('../../../../lib/media/gap_jumping_controller.js', ['shaka.me
77
77
  goog.addDependency('../../../../lib/media/manifest_filterer.js', ['shaka.media.ManifestFilterer'], ['goog.asserts', 'shaka.media.DrmEngine', 'shaka.util.Error', 'shaka.util.StreamUtils'], {'lang': 'es8'});
78
78
  goog.addDependency('../../../../lib/media/manifest_parser.js', ['shaka.media.ManifestParser'], ['shaka.Deprecate', 'shaka.log', 'shaka.util.Error', 'shaka.util.Platform'], {'lang': 'es6'});
79
79
  goog.addDependency('../../../../lib/media/media_source_capabilities.js', ['shaka.media.Capabilities'], [], {'lang': 'es6'});
80
- goog.addDependency('../../../../lib/media/media_source_engine.js', ['shaka.media.MediaSourceEngine'], ['goog.asserts', 'shaka.config.CodecSwitchingStrategy', 'shaka.lcevc.Dec', 'shaka.log', 'shaka.media.Capabilities', 'shaka.media.ClosedCaptionParser', 'shaka.media.ContentWorkarounds', 'shaka.media.IClosedCaptionParser', 'shaka.media.ManifestParser', 'shaka.media.SegmentReference', 'shaka.media.TimeRangesUtils', 'shaka.text.TextEngine', 'shaka.transmuxer.TransmuxerEngine', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.Id3Utils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.Platform', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.TsParser'], {'lang': 'es8'});
80
+ goog.addDependency('../../../../lib/media/media_source_engine.js', ['shaka.media.MediaSourceEngine'], ['goog.asserts', 'shaka.config.CodecSwitchingStrategy', 'shaka.lcevc.Dec', 'shaka.log', 'shaka.media.Capabilities', 'shaka.media.ClosedCaptionParser', 'shaka.media.ContentWorkarounds', 'shaka.media.IClosedCaptionParser', 'shaka.media.ManifestParser', 'shaka.media.SegmentReference', 'shaka.media.TimeRangesUtils', 'shaka.text.TextEngine', 'shaka.transmuxer.TransmuxerEngine', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.Dom', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.Id3Utils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.Platform', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.TsParser'], {'lang': 'es8'});
81
81
  goog.addDependency('../../../../lib/media/mp4_segment_index_parser.js', ['shaka.media.Mp4SegmentIndexParser'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.SegmentReference', 'shaka.util.Error', 'shaka.util.Mp4Parser'], {'lang': 'es6'});
82
82
  goog.addDependency('../../../../lib/media/play_rate_controller.js', ['shaka.media.PlayRateController'], ['goog.asserts', 'shaka.log', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
83
83
  goog.addDependency('../../../../lib/media/playhead.js', ['shaka.media.MediaSourcePlayhead', 'shaka.media.Playhead', 'shaka.media.SrcEqualsPlayhead'], ['goog.asserts', 'shaka.log', 'shaka.media.GapJumpingController', 'shaka.media.StallDetector', 'shaka.media.StallDetector.MediaElementImplementation', 'shaka.media.TimeRangesUtils', 'shaka.media.VideoWrapper', 'shaka.util.EventManager', 'shaka.util.IReleasable', 'shaka.util.MediaReadyState', 'shaka.util.Platform', 'shaka.util.Timer'], {'lang': 'es6'});
@@ -88,11 +88,11 @@ goog.addDependency('../../../../lib/media/quality_observer.js', ['shaka.media.Qu
88
88
  goog.addDependency('../../../../lib/media/region_observer.js', ['shaka.media.RegionObserver'], ['shaka.media.IPlayheadObserver', 'shaka.media.RegionTimeline', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
89
89
  goog.addDependency('../../../../lib/media/region_timeline.js', ['shaka.media.RegionTimeline'], ['shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
90
90
  goog.addDependency('../../../../lib/media/segment_index.js', ['shaka.media.MetaSegmentIndex', 'shaka.media.SegmentIndex', 'shaka.media.SegmentIterator'], ['goog.asserts', 'shaka.log', 'shaka.media.SegmentReference', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
91
- goog.addDependency('../../../../lib/media/segment_prefetch.js', ['shaka.media.SegmentPrefetch'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.SegmentIterator', 'shaka.media.SegmentReference', 'shaka.net.NetworkingEngine', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es8'});
91
+ goog.addDependency('../../../../lib/media/segment_prefetch.js', ['shaka.media.SegmentPrefetch'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.SegmentIterator', 'shaka.media.SegmentReference', 'shaka.net.NetworkingEngine', 'shaka.util.Error', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es8'});
92
92
  goog.addDependency('../../../../lib/media/segment_reference.js', ['shaka.media.InitSegmentReference', 'shaka.media.SegmentReference'], ['goog.asserts', 'shaka.log', 'shaka.util.ArrayUtils', 'shaka.util.BufferUtils'], {'lang': 'es6'});
93
93
  goog.addDependency('../../../../lib/media/segment_utils.js', ['shaka.media.SegmentUtils'], ['goog.asserts', 'shaka.log', 'shaka.media.Capabilities', 'shaka.media.ClosedCaptionParser', 'shaka.util.BufferUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.TsParser'], {'lang': 'es8'});
94
94
  goog.addDependency('../../../../lib/media/stall_detector.js', ['shaka.media.StallDetector', 'shaka.media.StallDetector.Implementation', 'shaka.media.StallDetector.MediaElementImplementation'], ['shaka.media.TimeRangesUtils', 'shaka.util.FakeEvent', 'shaka.util.IReleasable'], {'lang': 'es6'});
95
- goog.addDependency('../../../../lib/media/streaming_engine.js', ['shaka.media.StreamingEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.ManifestParser', 'shaka.media.MediaSourceEngine', 'shaka.media.MetaSegmentIndex', 'shaka.media.SegmentIterator', 'shaka.media.SegmentPrefetch', 'shaka.media.SegmentReference', 'shaka.media.SegmentUtils', 'shaka.net.Backoff', 'shaka.net.NetworkingEngine', 'shaka.util.DelayedTick', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.Id3Utils', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.Networking'], {'lang': 'es8'});
95
+ goog.addDependency('../../../../lib/media/streaming_engine.js', ['shaka.media.StreamingEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.ManifestParser', 'shaka.media.MediaSourceEngine', 'shaka.media.MetaSegmentIndex', 'shaka.media.SegmentIterator', 'shaka.media.SegmentPrefetch', 'shaka.media.SegmentReference', 'shaka.media.SegmentUtils', 'shaka.net.Backoff', 'shaka.net.NetworkingEngine', 'shaka.util.DelayedTick', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.Networking'], {'lang': 'es8'});
96
96
  goog.addDependency('../../../../lib/media/time_ranges_utils.js', ['shaka.media.TimeRangesUtils'], [], {'lang': 'es6'});
97
97
  goog.addDependency('../../../../lib/media/video_wrapper.js', ['shaka.media.VideoWrapper', 'shaka.media.VideoWrapper.PlayheadMover'], ['goog.asserts', 'shaka.log', 'shaka.util.EventManager', 'shaka.util.IReleasable', 'shaka.util.MediaReadyState', 'shaka.util.Timer'], {'lang': 'es6'});
98
98
  goog.addDependency('../../../../lib/media/webm_segment_index_parser.js', ['shaka.media.WebmSegmentIndexParser'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.SegmentReference', 'shaka.util.EbmlElement', 'shaka.util.EbmlParser', 'shaka.util.Error'], {'lang': 'es6'});
@@ -121,7 +121,7 @@ goog.addDependency('../../../../lib/offline/offline_manifest_parser.js', ['shaka
121
121
  goog.addDependency('../../../../lib/offline/offline_scheme.js', ['shaka.offline.OfflineScheme'], ['goog.asserts', 'shaka.net.NetworkingEngine', 'shaka.offline.OfflineUri', 'shaka.offline.StorageMuxer', 'shaka.util.AbortableOperation', 'shaka.util.Error'], {'lang': 'es6'});
122
122
  goog.addDependency('../../../../lib/offline/offline_uri.js', ['shaka.offline.OfflineUri'], [], {'lang': 'es6'});
123
123
  goog.addDependency('../../../../lib/offline/session_deleter.js', ['shaka.offline.SessionDeleter'], ['shaka.log', 'shaka.media.DrmEngine', 'shaka.util.ArrayUtils'], {'lang': 'es8'});
124
- goog.addDependency('../../../../lib/offline/storage.js', ['shaka.offline.Storage'], ['goog.asserts', 'shaka.Player', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.media.ManifestParser', 'shaka.net.NetworkingEngine', 'shaka.net.NetworkingUtils', 'shaka.offline.DownloadInfo', 'shaka.offline.DownloadManager', 'shaka.offline.OfflineUri', 'shaka.offline.SessionDeleter', 'shaka.offline.StorageMuxer', 'shaka.offline.StoredContentUtils', 'shaka.offline.StreamBandwidthEstimator', 'shaka.util.AbortableOperation', 'shaka.util.ArrayUtils', 'shaka.util.ConfigUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.PlayerConfiguration', 'shaka.util.StreamUtils'], {'lang': 'es8'});
124
+ goog.addDependency('../../../../lib/offline/storage.js', ['shaka.offline.Storage'], ['goog.asserts', 'shaka.Player', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.media.ManifestParser', 'shaka.media.SegmentIndex', 'shaka.media.SegmentReference', 'shaka.net.NetworkingEngine', 'shaka.net.NetworkingUtils', 'shaka.offline.DownloadInfo', 'shaka.offline.DownloadManager', 'shaka.offline.OfflineUri', 'shaka.offline.SessionDeleter', 'shaka.offline.StorageMuxer', 'shaka.offline.StoredContentUtils', 'shaka.offline.StreamBandwidthEstimator', 'shaka.text.TextEngine', 'shaka.util.AbortableOperation', 'shaka.util.ArrayUtils', 'shaka.util.BufferUtils', 'shaka.util.ConfigUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.PlayerConfiguration', 'shaka.util.StreamUtils'], {'lang': 'es8'});
125
125
  goog.addDependency('../../../../lib/offline/storage_muxer.js', ['shaka.offline.StorageCellHandle', 'shaka.offline.StorageCellPath', 'shaka.offline.StorageMuxer'], ['shaka.log', 'shaka.util.Error', 'shaka.util.IDestroyable'], {'lang': 'es8'});
126
126
  goog.addDependency('../../../../lib/offline/stored_content_utils.js', ['shaka.offline.StoredContentUtils'], ['goog.asserts', 'shaka.offline.ManifestConverter', 'shaka.offline.OfflineUri', 'shaka.util.StreamUtils'], {'lang': 'es6'});
127
127
  goog.addDependency('../../../../lib/offline/stream_bandwidth_estimator.js', ['shaka.offline.StreamBandwidthEstimator'], ['shaka.log'], {'lang': 'es6'});
@@ -241,12 +241,12 @@ goog.addDependency('../../../../ui/cast_button.js', ['shaka.ui.CastButton'], ['s
241
241
  goog.addDependency('../../../../ui/chapter_selection.js', ['shaka.ui.ChapterSelection'], ['shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.Dom'], {'lang': 'es6'});
242
242
  goog.addDependency('../../../../ui/constants.js', ['shaka.ui.Constants'], []);
243
243
  goog.addDependency('../../../../ui/context_menu.js', ['shaka.ui.ContextMenu'], ['goog.asserts', 'shaka.log', 'shaka.ui.Element', 'shaka.ui.Utils', 'shaka.util.Dom'], {'lang': 'es6'});
244
- goog.addDependency('../../../../ui/controls.js', ['shaka.ui.Controls', 'shaka.ui.ControlsPanel'], ['goog.asserts', 'shaka.ads.Utils', 'shaka.cast.CastProxy', 'shaka.log', 'shaka.ui.AdCounter', 'shaka.ui.AdPosition', 'shaka.ui.BigPlayButton', 'shaka.ui.ContextMenu', 'shaka.ui.HiddenFastForwardButton', 'shaka.ui.HiddenRewindButton', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.SeekBar', 'shaka.ui.SkipAdButton', 'shaka.ui.Utils', 'shaka.ui.VRManager', 'shaka.util.Dom', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IDestroyable', 'shaka.util.Timer'], {'lang': 'es8'});
244
+ goog.addDependency('../../../../ui/controls.js', ['shaka.ui.Controls', 'shaka.ui.ControlsPanel'], ['goog.asserts', 'shaka.ads.Utils', 'shaka.cast.CastProxy', 'shaka.log', 'shaka.ui.AdCounter', 'shaka.ui.AdPosition', 'shaka.ui.BigPlayButton', 'shaka.ui.ContextMenu', 'shaka.ui.HiddenFastForwardButton', 'shaka.ui.HiddenRewindButton', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.SeekBar', 'shaka.ui.SkipAdButton', 'shaka.ui.Utils', 'shaka.ui.VRManager', 'shaka.util.Dom', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IDestroyable', 'shaka.util.Platform', 'shaka.util.Timer'], {'lang': 'es8'});
245
245
  goog.addDependency('../../../../ui/element.js', ['shaka.ui.Element'], ['shaka.ads.Utils', 'shaka.util.EventManager'], {'lang': 'es6'});
246
246
  goog.addDependency('../../../../ui/enums.js', ['shaka.ui.Enums'], [], {'lang': 'es5'});
247
247
  goog.addDependency('../../../../ui/externs/ui.js', [], [], {'lang': 'es6'});
248
248
  goog.addDependency('../../../../ui/fast_forward_button.js', ['shaka.ui.FastForwardButton'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {'lang': 'es6'});
249
- goog.addDependency('../../../../ui/fullscreen_button.js', ['shaka.ui.FullscreenButton'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {'lang': 'es8'});
249
+ goog.addDependency('../../../../ui/fullscreen_button.js', ['shaka.ui.FullscreenButton'], ['shaka.ads.Utils', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {'lang': 'es8'});
250
250
  goog.addDependency('../../../../ui/gl_matrix/matrix_4x4.js', ['shaka.ui.Matrix4x4'], [], {'lang': 'es6'});
251
251
  goog.addDependency('../../../../ui/gl_matrix/matrix_quaternion.js', ['shaka.ui.MatrixQuaternion'], [], {'lang': 'es6'});
252
252
  goog.addDependency('../../../../ui/hidden_fast_forward_button.js', ['shaka.ui.HiddenFastForwardButton'], ['shaka.ui.Enums', 'shaka.ui.HiddenSeekButton'], {'lang': 'es6'});
@@ -255,7 +255,7 @@ goog.addDependency('../../../../ui/hidden_seek_button.js', ['shaka.ui.HiddenSeek
255
255
  goog.addDependency('../../../../ui/language_utils.js', ['shaka.ui.LanguageUtils'], ['mozilla.LanguageMapping', 'shaka.log', 'shaka.ui.Locales', 'shaka.ui.Overlay.TrackLabelFormat', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.LanguageUtils'], {'lang': 'es6'});
256
256
  goog.addDependency('../../../../ui/localization.js', ['shaka.ui.Localization', 'shaka.ui.Localization.ConflictResolution'], ['shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.Iterables', 'shaka.util.LanguageUtils'], {'lang': 'es6'});
257
257
  goog.addDependency('../../../../ui/loop_button.js', ['shaka.ui.LoopButton'], ['shaka.ui.ContextMenu', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.util.Dom', 'shaka.util.Timer'], {'lang': 'es6'});
258
- goog.addDependency('../../../../ui/mute_button.js', ['shaka.ui.MuteButton'], ['shaka.ads.Utils', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {'lang': 'es6'});
258
+ goog.addDependency('../../../../ui/mute_button.js', ['shaka.ui.MuteButton'], ['shaka.ads.Utils', 'shaka.ui.ContextMenu', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.util.Dom'], {'lang': 'es6'});
259
259
  goog.addDependency('../../../../ui/overflow_menu.js', ['shaka.ui.OverflowMenu'], ['goog.asserts', 'shaka.ads.Utils', 'shaka.log', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Iterables'], {'lang': 'es6'});
260
260
  goog.addDependency('../../../../ui/pip_button.js', ['shaka.ui.PipButton'], ['shaka.ui.ContextMenu', 'shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.Utils', 'shaka.util.Dom'], {'lang': 'es8'});
261
261
  goog.addDependency('../../../../ui/play_button.js', ['shaka.ui.PlayButton'], ['shaka.ads.Utils', 'shaka.ui.Element', 'shaka.ui.Localization', 'shaka.util.Dom'], {'lang': 'es6'});
package/dist/locales.js CHANGED
@@ -912,51 +912,51 @@ shaka.ui.Locales.addTo = function(localization) {
912
912
  * @const
913
913
  */
914
914
  shaka.ui.Locales.Ids = {
915
- NOT_APPLICABLE: 'NOT_APPLICABLE',
916
- AD_PROGRESS: 'AD_PROGRESS',
917
- FULL_SCREEN: 'FULL_SCREEN',
918
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
919
- LANGUAGE: 'LANGUAGE',
915
+ ON: 'ON',
916
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
920
917
  CHAPTERS: 'CHAPTERS',
921
- CAST: 'CAST',
922
- DOWNLOAD_VIDEO_FRAME: 'DOWNLOAD_VIDEO_FRAME',
918
+ PAUSE: 'PAUSE',
919
+ UNMUTE: 'UNMUTE',
920
+ FULL_SCREEN: 'FULL_SCREEN',
921
+ MUTE: 'MUTE',
922
+ SEEK: 'SEEK',
923
+ FAST_FORWARD: 'FAST_FORWARD',
923
924
  STATISTICS: 'STATISTICS',
925
+ AD_DURATION: 'AD_DURATION',
926
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
924
927
  AD_STATISTICS: 'AD_STATISTICS',
925
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
926
- LOOP: 'LOOP',
928
+ SKIP_AD: 'SKIP_AD',
929
+ AD_PROGRESS: 'AD_PROGRESS',
930
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
927
931
  BACK: 'BACK',
928
- PAUSE: 'PAUSE',
929
- QUALITY: 'QUALITY',
930
- OFF: 'OFF',
931
- REPLAY: 'REPLAY',
932
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
933
- PLAYBACK_RATE: 'PLAYBACK_RATE',
934
- CAPTIONS: 'CAPTIONS',
935
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
936
- AUTO_QUALITY: 'AUTO_QUALITY',
937
- VOLUME: 'VOLUME',
938
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
932
+ MORE_SETTINGS: 'MORE_SETTINGS',
933
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
939
934
  PLAY: 'PLAY',
940
- SURROUND: 'SURROUND',
941
- REWIND: 'REWIND',
942
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
943
- SKIP_AD: 'SKIP_AD',
944
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
935
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
945
936
  TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
946
- FAST_FORWARD: 'FAST_FORWARD',
947
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
948
- AD_DURATION: 'AD_DURATION',
949
- AD_TIME: 'AD_TIME',
937
+ RECENTER_VR: 'RECENTER_VR',
938
+ VOLUME: 'VOLUME',
950
939
  SKIP_TO_LIVE: 'SKIP_TO_LIVE',
940
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
941
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
942
+ SURROUND: 'SURROUND',
951
943
  AIRPLAY: 'AIRPLAY',
952
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
953
- MORE_SETTINGS: 'MORE_SETTINGS',
944
+ QUALITY: 'QUALITY',
945
+ LANGUAGE: 'LANGUAGE',
946
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
947
+ REPLAY: 'REPLAY',
954
948
  RESOLUTION: 'RESOLUTION',
955
- RECENTER_VR: 'RECENTER_VR',
956
- MUTE: 'MUTE',
957
- UNMUTE: 'UNMUTE',
958
- ON: 'ON',
959
- SEEK: 'SEEK',
949
+ AUTO_QUALITY: 'AUTO_QUALITY',
950
+ CAPTIONS: 'CAPTIONS',
951
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
960
952
  LIVE: 'LIVE',
953
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
954
+ REWIND: 'REWIND',
955
+ LOOP: 'LOOP',
956
+ DOWNLOAD_VIDEO_FRAME: 'DOWNLOAD_VIDEO_FRAME',
957
+ OFF: 'OFF',
958
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
961
959
  ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
960
+ CAST: 'CAST',
961
+ AD_TIME: 'AD_TIME',
962
962
  };
@@ -773,6 +773,7 @@ declare namespace shaka.ads {
773
773
  isMuted ( ) : any ;
774
774
  isPaused ( ) : any ;
775
775
  isSkippable ( ) : any ;
776
+ isUsingAnotherMediaElement ( ) : any ;
776
777
  needsSkipUI ( ) : any ;
777
778
  pause ( ) : any ;
778
779
  play ( ) : any ;
@@ -787,7 +788,7 @@ declare namespace shaka.ads {
787
788
  declare namespace shaka.ads {
788
789
  class InterstitialAd implements shaka.extern.IAd {
789
790
  private noStructuralTyping_shaka_ads_InterstitialAd : any;
790
- constructor (video : HTMLMediaElement | null , isSkippable : boolean , skipOffset : number | null , onSkip : ( ) => any , sequenceLength : number , adPosition : number ) ;
791
+ constructor (video : HTMLMediaElement | null , isSkippable : boolean , skipOffset : number | null , skipFor : number | null , onSkip : ( ) => any , sequenceLength : number , adPosition : number , isUsingAnotherMediaElement : boolean ) ;
791
792
  canSkipNow ( ) : any ;
792
793
  getAdId ( ) : any ;
793
794
  getAdvertiserName ( ) : any ;
@@ -812,6 +813,7 @@ declare namespace shaka.ads {
812
813
  isMuted ( ) : any ;
813
814
  isPaused ( ) : any ;
814
815
  isSkippable ( ) : any ;
816
+ isUsingAnotherMediaElement ( ) : any ;
815
817
  needsSkipUI ( ) : any ;
816
818
  pause ( ) : any ;
817
819
  play ( ) : any ;
@@ -851,6 +853,7 @@ declare namespace shaka.ads {
851
853
  isMuted ( ) : any ;
852
854
  isPaused ( ) : any ;
853
855
  isSkippable ( ) : any ;
856
+ isUsingAnotherMediaElement ( ) : any ;
854
857
  needsSkipUI ( ) : any ;
855
858
  pause ( ) : any ;
856
859
  play ( ) : any ;
@@ -890,6 +893,7 @@ declare namespace shaka.ads {
890
893
  isMuted ( ) : any ;
891
894
  isPaused ( ) : any ;
892
895
  isSkippable ( ) : any ;
896
+ isUsingAnotherMediaElement ( ) : any ;
893
897
  needsSkipUI ( ) : any ;
894
898
  pause ( ) : any ;
895
899
  play ( ) : any ;
@@ -2097,8 +2101,10 @@ declare namespace shaka.offline {
2097
2101
  * @param uri The URI of the manifest to store.
2098
2102
  * @param appMetadata An arbitrary object from the application that will be stored along-side the offline content. Use this for any application-specific metadata you need associated with the stored content. For details on the data types that can be stored here, please refer to {@link https://bit.ly/StructClone}
2099
2103
  * @param mimeType The mime type for the content |manifestUri| points to.
2104
+ * @param externalThumbnails The external thumbnails to store along the main content.
2105
+ * @param externalText The external text to store along the main content.
2100
2106
  */
2101
- store (uri : string , appMetadata ? : object , mimeType ? : string ) : shaka.extern.IAbortableOperation < any > ;
2107
+ store (uri : string , appMetadata ? : object , mimeType ? : string | null , externalThumbnails ? : string [] | null , externalText ? : shaka.extern.ExtraText [] | null ) : shaka.extern.IAbortableOperation < any > ;
2102
2108
  /**
2103
2109
  * Delete the on-disk storage and all the content it contains. This should not
2104
2110
  * be done in normal circumstances. Only do it when storage is rendered
@@ -2796,6 +2802,7 @@ declare namespace shaka.text {
2796
2802
  destroy ( ) : any ;
2797
2803
  isTextVisible ( ) : any ;
2798
2804
  remove (start : any , end : any ) : any ;
2805
+ setTextLanguage (language : any ) : any ;
2799
2806
  setTextVisibility (on : any ) : any ;
2800
2807
  }
2801
2808
  }
@@ -2839,6 +2846,7 @@ declare namespace shaka.text {
2839
2846
  destroy ( ) : any ;
2840
2847
  isTextVisible ( ) : any ;
2841
2848
  remove (start : any , end : any ) : any ;
2849
+ setTextLanguage (language : any ) : any ;
2842
2850
  setTextVisibility (on : any ) : any ;
2843
2851
  }
2844
2852
  }
@@ -2881,6 +2889,7 @@ declare namespace shaka.text {
2881
2889
  destroy ( ) : any ;
2882
2890
  isTextVisible ( ) : any ;
2883
2891
  remove (start : any , end : any ) : any ;
2892
+ setTextLanguage (language : any ) : any ;
2884
2893
  setTextVisibility (on : any ) : any ;
2885
2894
  }
2886
2895
  }
@@ -3299,6 +3308,7 @@ declare namespace shaka.util.Error {
3299
3308
  DASH_EMPTY_PERIOD = 4004.0 ,
3300
3309
  DASH_INVALID_PATCH = 4052.0 ,
3301
3310
  DASH_INVALID_XML = 4001.0 ,
3311
+ DASH_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED = 4054.0 ,
3302
3312
  DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED = 4009.0 ,
3303
3313
  DASH_NO_COMMON_KEY_SYSTEM = 4008.0 ,
3304
3314
  DASH_NO_SEGMENT_INFO = 4002.0 ,
@@ -4185,7 +4195,7 @@ declare namespace shaka.extern {
4185
4195
  }
4186
4196
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/ads.js
4187
4197
  declare namespace shaka.extern {
4188
- 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 } ;
4198
+ type AdInterstitial = { canJump : boolean , endTime : number | null , id : string | null , isSkippable : boolean , once : boolean , playoutLimit : number | null , post : boolean , pre : boolean , resumeOffset : number | null , skipFor : number | null , skipOffset : number | null , startTime : number , timelineRange : boolean , uri : string } ;
4189
4199
  }
4190
4200
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/ads.js
4191
4201
  declare namespace shaka.extern {
@@ -4225,6 +4235,7 @@ declare namespace shaka.extern {
4225
4235
  isMuted ( ) : boolean ;
4226
4236
  isPaused ( ) : boolean ;
4227
4237
  isSkippable ( ) : boolean ;
4238
+ isUsingAnotherMediaElement ( ) : boolean ;
4228
4239
  needsSkipUI ( ) : boolean ;
4229
4240
  pause ( ) : any ;
4230
4241
  play ( ) : any ;
@@ -4451,7 +4462,11 @@ declare namespace shaka.extern {
4451
4462
  }
4452
4463
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4453
4464
  declare namespace shaka.extern {
4454
- type Stream = { accessibilityPurpose : shaka.media.ManifestParser.AccessibilityPurpose | null , audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , colorGamut ? : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , external : boolean , fastSwitching : boolean , forced : boolean , frameRate ? : number , fullMimeTypes : Set < string > , groupId : string | null , hdr ? : string , height ? : number , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , mssPrivateData ? : shaka.extern.MssPrivateData , originalId : string | null , originalLanguage : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , videoLayout ? : string , width ? : number } ;
4465
+ type Stream = { accessibilityPurpose : shaka.media.ManifestParser.AccessibilityPurpose | null , audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , colorGamut ? : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , external : boolean , fastSwitching : boolean , forced : boolean , frameRate ? : number , fullMimeTypes : Set < string > , groupId : string | null , hdr ? : string , height ? : number , id : number , isAudioMuxedInVideo : boolean , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , mssPrivateData ? : shaka.extern.MssPrivateData , originalId : string | null , originalLanguage : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , videoLayout ? : string , width ? : number } ;
4466
+ }
4467
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4468
+ declare namespace shaka.extern {
4469
+ type ThumbnailSprite = { height : number , positionX : number , positionY : number , width : number } ;
4455
4470
  }
4456
4471
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4457
4472
  declare namespace shaka.extern {
@@ -4650,7 +4665,7 @@ declare namespace shaka.extern {
4650
4665
  }
4651
4666
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
4652
4667
  declare namespace shaka.extern {
4653
- type SegmentDB = { appendWindowEnd : number , appendWindowStart : number , codecs : string | null , dataKey : number , endTime : number , initSegmentKey : number | null , mimeType : string | null , pendingInitSegmentRefId ? : string , pendingSegmentRefId ? : string , startTime : number , tilesLayout : string | null , timestampOffset : number } ;
4668
+ type SegmentDB = { appendWindowEnd : number , appendWindowStart : number , codecs : string | null , dataKey : number , endTime : number , initSegmentKey : number | null , mimeType : string | null , pendingInitSegmentRefId ? : string , pendingSegmentRefId ? : string , startTime : number , thumbnailSprite : shaka.media.SegmentReference.ThumbnailSprite | null , tilesLayout : string | null , timestampOffset : number } ;
4654
4669
  }
4655
4670
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
4656
4671
  declare namespace shaka.extern {
@@ -4782,7 +4797,7 @@ declare namespace shaka.extern {
4782
4797
  }
4783
4798
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
4784
4799
  declare namespace shaka.extern {
4785
- type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , colorGamut ? : string , encrypted : boolean , external : boolean , fastSwitching : boolean , forced : boolean , frameRate ? : number , groupId : string | null , hdr ? : string , height : number | null , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , originalLanguage ? : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , videoLayout ? : string , width : number | null } ;
4800
+ type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , colorGamut ? : string , encrypted : boolean , external : boolean , fastSwitching : boolean , forced : boolean , frameRate ? : number , groupId : string | null , hdr ? : string , height : number | null , id : number , isAudioMuxedInVideo : boolean , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , originalLanguage ? : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , videoLayout ? : string , width : number | null } ;
4786
4801
  }
4787
4802
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline_compat_v1.js
4788
4803
  declare namespace shaka.extern {
@@ -4830,7 +4845,7 @@ declare namespace shaka.extern {
4830
4845
  }
4831
4846
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4832
4847
  declare namespace shaka.extern {
4833
- type AdsConfiguration = { customPlayheadTracker : boolean , skipPlayDetection : boolean , supportsMultipleMediaElements : boolean } ;
4848
+ type AdsConfiguration = { customPlayheadTracker : boolean , disableDASHInterstitial : boolean , disableHLSInterstitial : boolean , skipPlayDetection : boolean , supportsMultipleMediaElements : boolean } ;
4834
4849
  }
4835
4850
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4836
4851
  declare namespace shaka.extern {
@@ -4862,7 +4877,7 @@ declare namespace shaka.extern {
4862
4877
  }
4863
4878
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4864
4879
  declare namespace shaka.extern {
4865
- type DashManifestConfiguration = { autoCorrectDrift : boolean , clockSyncUri : string , disableXlinkProcessing : boolean , enableAudioGroups : boolean , enableFastSwitching : boolean , ignoreDrmInfo : boolean , ignoreEmptyAdaptationSet : boolean , ignoreMaxSegmentDuration : boolean , ignoreMinBufferTime : boolean , ignoreSuggestedPresentationDelay : boolean , initialSegmentLimit : number , keySystemsByURI : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , manifestPreprocessorTXml : (a : shaka.extern.xml.Node ) => any , multiTypeVariantsAllowed : boolean , sequenceMode : boolean , updatePeriod : number , useStreamOnceInPeriodFlattening : boolean , xlinkFailGracefully : boolean } ;
4880
+ type DashManifestConfiguration = { autoCorrectDrift : boolean , clockSyncUri : string , disableXlinkProcessing : boolean , enableFastSwitching : boolean , ignoreDrmInfo : boolean , ignoreEmptyAdaptationSet : boolean , ignoreMaxSegmentDuration : boolean , ignoreMinBufferTime : boolean , ignoreSuggestedPresentationDelay : boolean , initialSegmentLimit : number , keySystemsByURI : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , manifestPreprocessorTXml : (a : shaka.extern.xml.Node ) => any , multiTypeVariantsAllowed : boolean , sequenceMode : boolean , updatePeriod : number , useStreamOnceInPeriodFlattening : boolean , xlinkFailGracefully : boolean } ;
4866
4881
  }
4867
4882
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4868
4883
  declare namespace shaka.extern {
@@ -4885,12 +4900,16 @@ declare namespace shaka.extern {
4885
4900
  type EmsgInfo = { endTime : number , eventDuration : number , id : number , messageData : Uint8Array | null , presentationTimeDelta : number , schemeIdUri : string , startTime : number , timescale : number , value : string } ;
4886
4901
  }
4887
4902
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4903
+ declare namespace shaka.extern {
4904
+ type ExtraText = { codecs ? : string , kind : string , language : string , mime : string , uri : string } ;
4905
+ }
4906
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4888
4907
  declare namespace shaka.extern {
4889
4908
  type HLSInterstitial = { endTime : number | null , startTime : number , values : shaka.extern.MetadataFrame [] } ;
4890
4909
  }
4891
4910
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4892
4911
  declare namespace shaka.extern {
4893
- 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 } ;
4912
+ 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 , updatePeriod : number } ;
4894
4913
  }
4895
4914
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4896
4915
  declare namespace shaka.extern {
@@ -4914,7 +4933,7 @@ declare namespace shaka.extern {
4914
4933
  }
4915
4934
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4916
4935
  declare namespace shaka.extern {
4917
- type ManifestConfiguration = { availabilityWindowOverride : number , continueLoadingWhenPaused : boolean , dash : shaka.extern.DashManifestConfiguration , defaultPresentationDelay : number , disableAudio : boolean , disableText : boolean , disableThumbnails : boolean , disableVideo : boolean , hls : shaka.extern.HlsManifestConfiguration , mss : shaka.extern.MssManifestConfiguration , raiseFatalErrorOnManifestUpdateRequestFailure : boolean , retryParameters : shaka.extern.RetryParameters , segmentRelativeVttTiming : boolean } ;
4936
+ type ManifestConfiguration = { availabilityWindowOverride : number , continueLoadingWhenPaused : boolean , dash : shaka.extern.DashManifestConfiguration , defaultPresentationDelay : number , disableAudio : boolean , disableIFrames : boolean , disableText : boolean , disableThumbnails : boolean , disableVideo : boolean , hls : shaka.extern.HlsManifestConfiguration , mss : shaka.extern.MssManifestConfiguration , raiseFatalErrorOnManifestUpdateRequestFailure : boolean , retryParameters : shaka.extern.RetryParameters , segmentRelativeVttTiming : boolean } ;
4918
4937
  }
4919
4938
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4920
4939
  declare namespace shaka.extern {
@@ -4922,7 +4941,7 @@ declare namespace shaka.extern {
4922
4941
  }
4923
4942
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4924
4943
  declare namespace shaka.extern {
4925
- type MediaSourceConfiguration = { addExtraFeaturesToSourceBuffer : (a : string ) => string , codecSwitchingStrategy : shaka.config.CodecSwitchingStrategy , forceTransmux : boolean , insertFakeEncryptionInInit : boolean , modifyCueCallback : shaka.extern.TextParser.ModifyCueCallback } ;
4944
+ type MediaSourceConfiguration = { addExtraFeaturesToSourceBuffer : (a : string ) => string , codecSwitchingStrategy : shaka.config.CodecSwitchingStrategy , dispatchAllEmsgBoxes : boolean , forceTransmux : boolean , insertFakeEncryptionInInit : boolean , modifyCueCallback : shaka.extern.TextParser.ModifyCueCallback } ;
4926
4945
  }
4927
4946
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4928
4947
  declare namespace shaka.extern {
@@ -4954,7 +4973,7 @@ declare namespace shaka.extern {
4954
4973
  }
4955
4974
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4956
4975
  declare namespace shaka.extern {
4957
- 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 } ;
4976
+ 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 , ignoreHardwareResolution : boolean , 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 [] , preferredTextFormats : 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 } ;
4958
4977
  }
4959
4978
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4960
4979
  declare namespace shaka.extern {
@@ -4974,7 +4993,7 @@ declare namespace shaka.extern {
4974
4993
  }
4975
4994
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4976
4995
  declare namespace shaka.extern {
4977
- 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 } ;
4996
+ type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , clearDecodingCache : boolean , disableAudioPrefetch : boolean , disableTextPrefetch : boolean , disableVideoPrefetch : 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 , preferNativeHls : boolean , prefetchAudioLanguages : string [] , preloadNextUrlWindow : number , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekEndOffset : number , safeSeekOffset : number , segmentPrefetchLimit : number , shouldFixTimestampOffset : boolean , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsForFairPlay : boolean , vodDynamicPlaybackRate : boolean , vodDynamicPlaybackRateBufferRatio : number , vodDynamicPlaybackRateLowBufferRate : number } ;
4978
4997
  }
4979
4998
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4980
4999
  declare namespace shaka.extern {
@@ -5037,6 +5056,10 @@ declare namespace shaka.extern {
5037
5056
  * has not been destroyed <code>remove</code> should return <code>true</code>.
5038
5057
  */
5039
5058
  remove (startTime : number , endTime : number ) : boolean ;
5059
+ /**
5060
+ * Set the current language.
5061
+ */
5062
+ setTextLanguage (language : string ) : any ;
5040
5063
  /**
5041
5064
  * Set text visibility.
5042
5065
  */