shaka-player 4.9.32 → 4.9.34

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 (56) hide show
  1. package/dist/deps.js +6 -5
  2. package/dist/locales.js +36 -36
  3. package/dist/shaka-player.compiled.d.ts +11 -3
  4. package/dist/shaka-player.compiled.debug.d.ts +11 -3
  5. package/dist/shaka-player.compiled.debug.externs.js +8 -5
  6. package/dist/shaka-player.compiled.debug.js +453 -440
  7. package/dist/shaka-player.compiled.debug.map +4 -4
  8. package/dist/shaka-player.compiled.externs.js +8 -5
  9. package/dist/shaka-player.compiled.js +1281 -1271
  10. package/dist/shaka-player.compiled.map +4 -4
  11. package/dist/shaka-player.ui.d.ts +11 -3
  12. package/dist/shaka-player.ui.debug.d.ts +11 -3
  13. package/dist/shaka-player.ui.debug.externs.js +8 -5
  14. package/dist/shaka-player.ui.debug.js +483 -470
  15. package/dist/shaka-player.ui.debug.map +4 -4
  16. package/dist/shaka-player.ui.externs.js +8 -5
  17. package/dist/shaka-player.ui.js +1478 -1468
  18. package/dist/shaka-player.ui.map +4 -4
  19. package/externs/managedmediasource.js +6 -0
  20. package/externs/shaka/codecs.js +21 -0
  21. package/externs/shaka/offline.js +4 -0
  22. package/lib/cast/cast_utils.js +1 -0
  23. package/lib/hls/hls_parser.js +26 -5
  24. package/lib/media/drm_engine.js +78 -18
  25. package/lib/media/media_source_capabilities.js +3 -2
  26. package/lib/media/media_source_engine.js +117 -36
  27. package/lib/media/segment_utils.js +57 -47
  28. package/lib/offline/download_info.js +5 -0
  29. package/lib/offline/download_manager.js +54 -0
  30. package/lib/offline/manifest_converter.js +1 -0
  31. package/lib/offline/storage.js +11 -2
  32. package/lib/player.js +89 -53
  33. package/lib/polyfill/media_capabilities.js +1 -1
  34. package/lib/text/simple_text_displayer.js +9 -1
  35. package/lib/text/ui_text_displayer.js +2 -14
  36. package/lib/text/vtt_text_parser.js +9 -4
  37. package/lib/transmuxer/aac_transmuxer.js +11 -3
  38. package/lib/transmuxer/ac3_transmuxer.js +11 -3
  39. package/lib/transmuxer/ec3_transmuxer.js +11 -3
  40. package/lib/transmuxer/h264.js +143 -70
  41. package/lib/transmuxer/mp3_transmuxer.js +11 -3
  42. package/lib/transmuxer/ts_transmuxer.js +68 -28
  43. package/lib/util/abortable_operation.js +3 -0
  44. package/lib/util/drm_utils.js +20 -0
  45. package/lib/util/functional.js +27 -0
  46. package/lib/util/mime_utils.js +2 -0
  47. package/lib/util/number_utils.js +37 -0
  48. package/lib/util/object_utils.js +83 -0
  49. package/lib/util/platform.js +48 -40
  50. package/lib/util/stream_utils.js +27 -106
  51. package/lib/util/ts_parser.js +111 -85
  52. package/package.json +2 -2
  53. package/ui/controls.js +4 -0
  54. package/ui/fast_forward_button.js +7 -0
  55. package/ui/play_button.js +1 -1
  56. package/ui/rewind_button.js +7 -0
package/dist/deps.js CHANGED
@@ -69,7 +69,7 @@ goog.addDependency('../../../../lib/media/adaptation_set_criteria.js', ['shaka.m
69
69
  goog.addDependency('../../../../lib/media/buffering_observer.js', ['shaka.media.BufferingObserver'], [], {'lang': 'es6'});
70
70
  goog.addDependency('../../../../lib/media/closed_caption_parser.js', ['shaka.media.ClosedCaptionParser', 'shaka.media.IClosedCaptionParser'], ['shaka.cea.DummyCaptionDecoder', 'shaka.cea.DummyCeaParser', 'shaka.log', 'shaka.util.BufferUtils'], {'lang': 'es6'});
71
71
  goog.addDependency('../../../../lib/media/content_workarounds.js', ['shaka.media.ContentWorkarounds'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.Lazy', 'shaka.util.Mp4Parser', 'shaka.util.Platform', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
72
- goog.addDependency('../../../../lib/media/drm_engine.js', ['shaka.media.DrmEngine'], ['goog.asserts', 'shaka.log', 'shaka.net.NetworkingEngine', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.DrmUtils', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.ManifestParserUtils', 'shaka.util.MapUtils', 'shaka.util.ObjectUtils', 'shaka.util.Platform', 'shaka.util.Pssh', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es8'});
72
+ goog.addDependency('../../../../lib/media/drm_engine.js', ['shaka.media.DrmEngine'], ['goog.asserts', 'shaka.log', 'shaka.net.NetworkingEngine', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.DrmUtils', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.ManifestParserUtils', 'shaka.util.MapUtils', 'shaka.util.ObjectUtils', 'shaka.util.Platform', 'shaka.util.Pssh', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es8'});
73
73
  goog.addDependency('../../../../lib/media/gap_jumping_controller.js', ['shaka.media.GapJumpingController'], ['shaka.log', 'shaka.media.PresentationTimeline', 'shaka.media.StallDetector', 'shaka.media.TimeRangesUtils', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.IReleasable', 'shaka.util.Platform', 'shaka.util.Timer'], {'lang': 'es6'});
74
74
  goog.addDependency('../../../../lib/media/manifest_filterer.js', ['shaka.media.ManifestFilterer'], ['goog.asserts', 'shaka.media.DrmEngine', 'shaka.util.Error', 'shaka.util.StreamUtils'], {'lang': 'es8'});
75
75
  goog.addDependency('../../../../lib/media/manifest_parser.js', ['shaka.media.ManifestParser'], ['shaka.Deprecate', 'shaka.log', 'shaka.util.Error', 'shaka.util.Platform'], {'lang': 'es6'});
@@ -102,7 +102,7 @@ goog.addDependency('../../../../lib/net/http_plugin_utils.js', ['shaka.net.HttpP
102
102
  goog.addDependency('../../../../lib/net/http_xhr_plugin.js', ['shaka.net.HttpXHRPlugin'], ['goog.asserts', 'shaka.net.HttpPluginUtils', 'shaka.net.NetworkingEngine', 'shaka.util.AbortableOperation', 'shaka.util.Error'], {'lang': 'es6'});
103
103
  goog.addDependency('../../../../lib/net/networking_engine.js', ['shaka.net.NetworkingEngine', 'shaka.net.NetworkingEngine.AdvancedRequestType', 'shaka.net.NetworkingEngine.PendingRequest', 'shaka.net.NetworkingEngine.RequestType'], ['goog.Uri', 'goog.asserts', 'shaka.net.Backoff', 'shaka.util.AbortableOperation', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IDestroyable', 'shaka.util.ObjectUtils', 'shaka.util.OperationManager', 'shaka.util.Timer'], {'lang': 'es6'});
104
104
  goog.addDependency('../../../../lib/net/networking_utils.js', ['shaka.net.NetworkingUtils'], ['goog.Uri', 'shaka.net.NetworkingEngine', 'shaka.util.Error'], {'lang': 'es8'});
105
- goog.addDependency('../../../../lib/offline/download_info.js', ['shaka.offline.DownloadInfo'], ['shaka.util.Networking'], {'lang': 'es6'});
105
+ goog.addDependency('../../../../lib/offline/download_info.js', ['shaka.offline.DownloadInfo'], ['shaka.util.Networking', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
106
106
  goog.addDependency('../../../../lib/offline/download_manager.js', ['shaka.offline.DownloadManager'], ['shaka.net.NetworkingEngine', 'shaka.offline.DownloadProgressEstimator', 'shaka.util.ArrayUtils', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.IDestroyable', 'shaka.util.Pssh'], {'lang': 'es8'});
107
107
  goog.addDependency('../../../../lib/offline/download_progress_estimator.js', ['shaka.offline.DownloadProgressEstimator'], [], {'lang': 'es6'});
108
108
  goog.addDependency('../../../../lib/offline/indexeddb/base_storage_cell.js', ['shaka.offline.indexeddb.BaseStorageCell'], ['shaka.offline.indexeddb.DBConnection', 'shaka.util.Error'], {'lang': 'es8'});
@@ -122,7 +122,7 @@ goog.addDependency('../../../../lib/offline/storage.js', ['shaka.offline.Storage
122
122
  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'});
123
123
  goog.addDependency('../../../../lib/offline/stored_content_utils.js', ['shaka.offline.StoredContentUtils'], ['goog.asserts', 'shaka.offline.ManifestConverter', 'shaka.offline.OfflineUri', 'shaka.util.StreamUtils'], {'lang': 'es6'});
124
124
  goog.addDependency('../../../../lib/offline/stream_bandwidth_estimator.js', ['shaka.offline.StreamBandwidthEstimator'], ['shaka.log'], {'lang': 'es6'});
125
- goog.addDependency('../../../../lib/player.js', ['shaka.Player'], ['goog.asserts', 'shaka.Deprecate', 'shaka.config.AutoShowText', 'shaka.lcevc.Dec', 'shaka.log', 'shaka.media.AdaptationSetCriteria', 'shaka.media.BufferingObserver', 'shaka.media.DrmEngine', 'shaka.media.ExampleBasedCriteria', 'shaka.media.ManifestFilterer', 'shaka.media.ManifestParser', 'shaka.media.MediaSourceEngine', 'shaka.media.MediaSourcePlayhead', 'shaka.media.MetaSegmentIndex', 'shaka.media.PlayRateController', 'shaka.media.Playhead', 'shaka.media.PlayheadObserverManager', 'shaka.media.PreferenceBasedCriteria', 'shaka.media.PreloadManager', 'shaka.media.QualityObserver', 'shaka.media.RegionObserver', 'shaka.media.RegionTimeline', 'shaka.media.SegmentIndex', 'shaka.media.SegmentPrefetch', 'shaka.media.SegmentReference', 'shaka.media.SrcEqualsPlayhead', 'shaka.media.StreamingEngine', 'shaka.media.TimeRangesUtils', 'shaka.net.NetworkingEngine', 'shaka.net.NetworkingUtils', 'shaka.text.SimpleTextDisplayer', 'shaka.text.StubTextDisplayer', 'shaka.text.TextEngine', 'shaka.text.UITextDisplayer', 'shaka.text.WebVttGenerator', 'shaka.util.BufferUtils', 'shaka.util.CmcdManager', 'shaka.util.CmsdManager', 'shaka.util.ConfigUtils', 'shaka.util.Dom', 'shaka.util.DrmUtils', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IDestroyable', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MediaReadyState', 'shaka.util.MimeUtils', 'shaka.util.Mutex', 'shaka.util.ObjectUtils', 'shaka.util.Platform', 'shaka.util.PlayerConfiguration', 'shaka.util.PublicPromise', 'shaka.util.Stats', 'shaka.util.StreamUtils', 'shaka.util.Timer'], {'lang': 'es8'});
125
+ goog.addDependency('../../../../lib/player.js', ['shaka.Player'], ['goog.asserts', 'shaka.Deprecate', 'shaka.config.AutoShowText', 'shaka.lcevc.Dec', 'shaka.log', 'shaka.media.AdaptationSetCriteria', 'shaka.media.BufferingObserver', 'shaka.media.DrmEngine', 'shaka.media.ExampleBasedCriteria', 'shaka.media.ManifestFilterer', 'shaka.media.ManifestParser', 'shaka.media.MediaSourceEngine', 'shaka.media.MediaSourcePlayhead', 'shaka.media.MetaSegmentIndex', 'shaka.media.PlayRateController', 'shaka.media.Playhead', 'shaka.media.PlayheadObserverManager', 'shaka.media.PreferenceBasedCriteria', 'shaka.media.PreloadManager', 'shaka.media.QualityObserver', 'shaka.media.RegionObserver', 'shaka.media.RegionTimeline', 'shaka.media.SegmentIndex', 'shaka.media.SegmentPrefetch', 'shaka.media.SegmentReference', 'shaka.media.SrcEqualsPlayhead', 'shaka.media.StreamingEngine', 'shaka.media.TimeRangesUtils', 'shaka.net.NetworkingEngine', 'shaka.net.NetworkingUtils', 'shaka.text.SimpleTextDisplayer', 'shaka.text.StubTextDisplayer', 'shaka.text.TextEngine', 'shaka.text.UITextDisplayer', 'shaka.text.WebVttGenerator', 'shaka.util.BufferUtils', 'shaka.util.CmcdManager', 'shaka.util.CmsdManager', 'shaka.util.ConfigUtils', 'shaka.util.Dom', 'shaka.util.DrmUtils', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IDestroyable', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MediaReadyState', 'shaka.util.MimeUtils', 'shaka.util.Mutex', 'shaka.util.NumberUtils', 'shaka.util.ObjectUtils', 'shaka.util.Platform', 'shaka.util.PlayerConfiguration', 'shaka.util.PublicPromise', 'shaka.util.Stats', 'shaka.util.StreamUtils', 'shaka.util.Timer'], {'lang': 'es8'});
126
126
  goog.addDependency('../../../../lib/polyfill/abort_controller.js', ['shaka.polyfill.AbortController'], ['shaka.polyfill', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
127
127
  goog.addDependency('../../../../lib/polyfill/all.js', ['shaka.polyfill'], ['shaka.log'], {'lang': 'es6'});
128
128
  goog.addDependency('../../../../lib/polyfill/aria.js', ['shaka.polyfill.Aria'], ['shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
@@ -154,7 +154,7 @@ goog.addDependency('../../../../lib/text/stub_text_displayer.js', ['shaka.text.S
154
154
  goog.addDependency('../../../../lib/text/text_engine.js', ['shaka.text.TextEngine'], ['goog.asserts', 'shaka.Deprecate', 'shaka.media.ClosedCaptionParser', 'shaka.text.Cue', 'shaka.util.BufferUtils', 'shaka.util.IDestroyable', 'shaka.util.MimeUtils'], {'lang': 'es8'});
155
155
  goog.addDependency('../../../../lib/text/text_utils.js', ['shaka.text.Utils'], ['shaka.log', 'shaka.text.Cue'], {'lang': 'es6'});
156
156
  goog.addDependency('../../../../lib/text/ttml_text_parser.js', ['shaka.text.TtmlTextParser'], ['goog.Uri', 'goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.text.TextEngine', 'shaka.util.ArrayUtils', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.TXml'], {'lang': 'es6'});
157
- goog.addDependency('../../../../lib/text/ui_text_displayer.js', ['shaka.text.UITextDisplayer'], ['goog.asserts', 'shaka.Deprecate', 'shaka.log', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.text.Utils', 'shaka.util.Dom', 'shaka.util.EventManager', 'shaka.util.Timer'], {'lang': 'es6'});
157
+ goog.addDependency('../../../../lib/text/ui_text_displayer.js', ['shaka.text.UITextDisplayer'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.text.Utils', 'shaka.util.Dom', 'shaka.util.EventManager', 'shaka.util.Timer'], {'lang': 'es6'});
158
158
  goog.addDependency('../../../../lib/text/vtt_text_parser.js', ['shaka.text.VttTextParser'], ['goog.asserts', 'shaka.log', 'shaka.media.ManifestParser', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.text.TextEngine', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.TextParser'], {'lang': 'es6'});
159
159
  goog.addDependency('../../../../lib/text/web_vtt_generator.js', ['shaka.text.WebVttGenerator'], ['shaka.text.Cue', 'shaka.text.Utils'], {'lang': 'es6'});
160
160
  goog.addDependency('../../../../lib/transmuxer/aac_transmuxer.js', ['shaka.transmuxer.AacTransmuxer'], ['shaka.media.Capabilities', 'shaka.transmuxer.ADTS', 'shaka.transmuxer.TransmuxerEngine', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.Id3Utils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4Generator', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
@@ -191,7 +191,7 @@ goog.addDependency('../../../../lib/util/exp_golomb.js', ['shaka.util.ExpGolomb'
191
191
  goog.addDependency('../../../../lib/util/fairplay_utils.js', ['shaka.util.FairPlayUtils'], ['goog.Uri', 'goog.asserts', 'shaka.net.NetworkingEngine', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es8'});
192
192
  goog.addDependency('../../../../lib/util/fake_event.js', ['shaka.util.FakeEvent'], ['goog.asserts'], {'lang': 'es6'});
193
193
  goog.addDependency('../../../../lib/util/fake_event_target.js', ['shaka.util.FakeEventTarget'], ['goog.asserts', 'shaka.log', 'shaka.util.FakeEvent', 'shaka.util.IReleasable', 'shaka.util.MultiMap'], {'lang': 'es6'});
194
- goog.addDependency('../../../../lib/util/functional.js', ['shaka.util.Functional'], [], {'lang': 'es6'});
194
+ goog.addDependency('../../../../lib/util/functional.js', ['shaka.util.Functional'], ['shaka.util.Timer'], {'lang': 'es6'});
195
195
  goog.addDependency('../../../../lib/util/i_destroyable.js', ['shaka.util.IDestroyable'], [], {'lang': 'es6'});
196
196
  goog.addDependency('../../../../lib/util/i_releasable.js', ['shaka.util.IReleasable'], [], {'lang': 'es6'});
197
197
  goog.addDependency('../../../../lib/util/id3_utils.js', ['shaka.util.Id3Utils'], ['shaka.log', 'shaka.util.BufferUtils', 'shaka.util.StringUtils'], {'lang': 'es6'});
@@ -208,6 +208,7 @@ goog.addDependency('../../../../lib/util/mp4_parser.js', ['shaka.util.Mp4Parser'
208
208
  goog.addDependency('../../../../lib/util/multi_map.js', ['shaka.util.MultiMap'], [], {'lang': 'es6'});
209
209
  goog.addDependency('../../../../lib/util/mutex.js', ['shaka.util.Mutex'], ['shaka.log'], {'lang': 'es8'});
210
210
  goog.addDependency('../../../../lib/util/networking.js', ['shaka.util.Networking'], ['shaka.net.NetworkingEngine'], {'lang': 'es6'});
211
+ goog.addDependency('../../../../lib/util/number_utils.js', ['shaka.util.NumberUtils'], [], {'lang': 'es6'});
211
212
  goog.addDependency('../../../../lib/util/object_utils.js', ['shaka.util.ObjectUtils'], [], {'lang': 'es6'});
212
213
  goog.addDependency('../../../../lib/util/operation_manager.js', ['shaka.util.OperationManager'], ['shaka.util.ArrayUtils', 'shaka.util.IDestroyable'], {'lang': 'es6'});
213
214
  goog.addDependency('../../../../lib/util/periods.js', ['shaka.util.PeriodCombiner'], ['goog.asserts', 'shaka.log', 'shaka.media.MetaSegmentIndex', 'shaka.media.SegmentIndex', 'shaka.util.DrmUtils', 'shaka.util.Error', 'shaka.util.IReleasable', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils'], {'lang': 'es8'});
package/dist/locales.js CHANGED
@@ -761,49 +761,49 @@ shaka.ui.Locales.addTo = function(localization) {
761
761
  * @const
762
762
  */
763
763
  shaka.ui.Locales.Ids = {
764
- VOLUME: 'VOLUME',
765
- AD_STATISTICS: 'AD_STATISTICS',
766
- PLAYBACK_RATE: 'PLAYBACK_RATE',
767
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
764
+ AUTO_QUALITY: 'AUTO_QUALITY',
765
+ AD_PROGRESS: 'AD_PROGRESS',
766
+ BACK: 'BACK',
767
+ FAST_FORWARD: 'FAST_FORWARD',
768
768
  ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
769
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
770
+ AD_STATISTICS: 'AD_STATISTICS',
771
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
772
+ VOLUME: 'VOLUME',
773
+ AD_DURATION: 'AD_DURATION',
769
774
  UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
770
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
771
- AUTO_QUALITY: 'AUTO_QUALITY',
772
- LOOP: 'LOOP',
773
- PAUSE: 'PAUSE',
774
- FULL_SCREEN: 'FULL_SCREEN',
775
+ QUALITY: 'QUALITY',
776
+ TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
777
+ SEEK: 'SEEK',
775
778
  NOT_APPLICABLE: 'NOT_APPLICABLE',
776
- CAPTIONS: 'CAPTIONS',
777
- AD_TIME: 'AD_TIME',
778
- REWIND: 'REWIND',
779
- STATISTICS: 'STATISTICS',
780
779
  OFF: 'OFF',
781
- MUTE: 'MUTE',
782
780
  SKIP_AD: 'SKIP_AD',
783
- AIRPLAY: 'AIRPLAY',
784
- TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
785
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
786
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
787
- FAST_FORWARD: 'FAST_FORWARD',
788
- REPLAY: 'REPLAY',
789
- QUALITY: 'QUALITY',
790
- LIVE: 'LIVE',
791
- AD_DURATION: 'AD_DURATION',
792
- LANGUAGE: 'LANGUAGE',
793
- SEEK: 'SEEK',
794
- SURROUND: 'SURROUND',
795
- CAST: 'CAST',
796
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
797
- ON: 'ON',
781
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
798
782
  EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
799
- BACK: 'BACK',
800
- MORE_SETTINGS: 'MORE_SETTINGS',
801
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
802
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
803
- RESOLUTION: 'RESOLUTION',
804
- UNMUTE: 'UNMUTE',
805
- AD_PROGRESS: 'AD_PROGRESS',
783
+ REPLAY: 'REPLAY',
806
784
  PLAY: 'PLAY',
785
+ FULL_SCREEN: 'FULL_SCREEN',
786
+ RESOLUTION: 'RESOLUTION',
787
+ PAUSE: 'PAUSE',
788
+ MUTE: 'MUTE',
789
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
790
+ ON: 'ON',
791
+ SURROUND: 'SURROUND',
792
+ AIRPLAY: 'AIRPLAY',
793
+ AD_TIME: 'AD_TIME',
794
+ STATISTICS: 'STATISTICS',
807
795
  EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
796
+ LIVE: 'LIVE',
797
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
798
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
808
799
  RECENTER_VR: 'RECENTER_VR',
800
+ CAPTIONS: 'CAPTIONS',
801
+ LOOP: 'LOOP',
802
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
803
+ MORE_SETTINGS: 'MORE_SETTINGS',
804
+ UNMUTE: 'UNMUTE',
805
+ REWIND: 'REWIND',
806
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
807
+ LANGUAGE: 'LANGUAGE',
808
+ CAST: 'CAST',
809
809
  };
@@ -274,6 +274,10 @@ declare namespace shaka {
274
274
  * return <code>false</code>.
275
275
  */
276
276
  isBuffering ( ) : boolean ;
277
+ /**
278
+ * Indicate if the video has ended.
279
+ */
280
+ isEnded ( ) : boolean ;
277
281
  /**
278
282
  * Get if the player is playing in-progress content. If the player has not
279
283
  * loaded content, this will return <code>false</code>.
@@ -2581,7 +2585,7 @@ declare namespace shaka.text {
2581
2585
  * The text displayer plugin for the Shaka Player UI. Can also be used directly
2582
2586
  * by providing an appropriate container element.
2583
2587
  */
2584
- constructor (video : HTMLMediaElement | null , videoContainer : HTMLElement | null , config : shaka.extern.TextDisplayerConfiguration ) ;
2588
+ constructor (video : HTMLMediaElement | null , videoContainer : HTMLElement | null ) ;
2585
2589
  append (cues : any ) : any ;
2586
2590
  configure (config : any ) : any ;
2587
2591
  destroy ( ) : any ;
@@ -3694,7 +3698,7 @@ declare namespace shaka.util {
3694
3698
  * The code is based on hls.js
3695
3699
  * Credit to https://github.com/video-dev/hls.js/blob/master/src/demux/tsdemuxer.ts
3696
3700
  */
3697
- parseNalus (pes : shaka.extern.MPEG_PES , lastNalu ? : shaka.extern.VideoNalu | null , lastState ? : number | null ) : shaka.extern.VideoNalu [] ;
3701
+ parseNalus (pes : shaka.extern.MPEG_PES , lastInfo : { nalu : shaka.extern.VideoNalu | null , state : number | null } ) : shaka.extern.VideoNalu [] ;
3698
3702
  static Timescale : number ;
3699
3703
  /**
3700
3704
  * Check if the passed data corresponds to an MPEG2-TS
@@ -4057,6 +4061,10 @@ declare namespace shaka.extern {
4057
4061
  declare namespace shaka.extern {
4058
4062
  type VideoNalu = { data : Uint8Array , fullData : Uint8Array , time : number | null , type : number } ;
4059
4063
  }
4064
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
4065
+ declare namespace shaka.extern {
4066
+ type VideoSample = { data : Uint8Array , dts : number | null , frame : boolean , isKeyframe : boolean , nalus : shaka.extern.VideoNalu [] , pts : number | null } ;
4067
+ }
4060
4068
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/error.js
4061
4069
  declare namespace shaka.extern {
4062
4070
  interface Error {
@@ -4464,7 +4472,7 @@ declare namespace shaka.extern {
4464
4472
  }
4465
4473
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
4466
4474
  declare namespace shaka.extern {
4467
- 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 } ;
4475
+ 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 , mssPrivateData ? : shaka.extern.MssPrivateData , 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 } ;
4468
4476
  }
4469
4477
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline_compat_v1.js
4470
4478
  declare namespace shaka.extern {
@@ -274,6 +274,10 @@ declare namespace shaka {
274
274
  * return <code>false</code>.
275
275
  */
276
276
  isBuffering ( ) : boolean ;
277
+ /**
278
+ * Indicate if the video has ended.
279
+ */
280
+ isEnded ( ) : boolean ;
277
281
  /**
278
282
  * Get if the player is playing in-progress content. If the player has not
279
283
  * loaded content, this will return <code>false</code>.
@@ -2581,7 +2585,7 @@ declare namespace shaka.text {
2581
2585
  * The text displayer plugin for the Shaka Player UI. Can also be used directly
2582
2586
  * by providing an appropriate container element.
2583
2587
  */
2584
- constructor (video : HTMLMediaElement | null , videoContainer : HTMLElement | null , config : shaka.extern.TextDisplayerConfiguration ) ;
2588
+ constructor (video : HTMLMediaElement | null , videoContainer : HTMLElement | null ) ;
2585
2589
  append (cues : any ) : any ;
2586
2590
  configure (config : any ) : any ;
2587
2591
  destroy ( ) : any ;
@@ -3694,7 +3698,7 @@ declare namespace shaka.util {
3694
3698
  * The code is based on hls.js
3695
3699
  * Credit to https://github.com/video-dev/hls.js/blob/master/src/demux/tsdemuxer.ts
3696
3700
  */
3697
- parseNalus (pes : shaka.extern.MPEG_PES , lastNalu ? : shaka.extern.VideoNalu | null , lastState ? : number | null ) : shaka.extern.VideoNalu [] ;
3701
+ parseNalus (pes : shaka.extern.MPEG_PES , lastInfo : { nalu : shaka.extern.VideoNalu | null , state : number | null } ) : shaka.extern.VideoNalu [] ;
3698
3702
  static Timescale : number ;
3699
3703
  /**
3700
3704
  * Check if the passed data corresponds to an MPEG2-TS
@@ -4057,6 +4061,10 @@ declare namespace shaka.extern {
4057
4061
  declare namespace shaka.extern {
4058
4062
  type VideoNalu = { data : Uint8Array , fullData : Uint8Array , time : number | null , type : number } ;
4059
4063
  }
4064
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
4065
+ declare namespace shaka.extern {
4066
+ type VideoSample = { data : Uint8Array , dts : number | null , frame : boolean , isKeyframe : boolean , nalus : shaka.extern.VideoNalu [] , pts : number | null } ;
4067
+ }
4060
4068
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/error.js
4061
4069
  declare namespace shaka.extern {
4062
4070
  interface Error {
@@ -4464,7 +4472,7 @@ declare namespace shaka.extern {
4464
4472
  }
4465
4473
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
4466
4474
  declare namespace shaka.extern {
4467
- 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 } ;
4475
+ 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 , mssPrivateData ? : shaka.extern.MssPrivateData , 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 } ;
4468
4476
  }
4469
4477
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline_compat_v1.js
4470
4478
  declare namespace shaka.extern {
@@ -2296,11 +2296,10 @@ shaka.util.TsParser = class {
2296
2296
  * The code is based on hls.js
2297
2297
  * Credit to https://github.com/video-dev/hls.js/blob/master/src/demux/tsdemuxer.ts
2298
2298
  * @param {shaka.extern.MPEG_PES} pes
2299
- * @param {?shaka.extern.VideoNalu=} lastNalu
2300
- * @param {?number=} lastState
2299
+ * @param {{nalu: ?shaka.extern.VideoNalu, state: ?number}} lastInfo
2301
2300
  * @return {!Array.<shaka.extern.VideoNalu>}
2302
2301
  */
2303
- parseNalus(pes, lastNalu, lastState) {}
2302
+ parseNalus(pes, lastInfo) {}
2304
2303
  /**
2305
2304
  * Return the ID3 metadata
2306
2305
  * @return {!Array.<shaka.extern.ID3Metadata>}
@@ -3066,9 +3065,8 @@ shaka.text.UITextDisplayer = class {
3066
3065
  * Constructor.
3067
3066
  * @param {HTMLMediaElement} video
3068
3067
  * @param {HTMLElement} videoContainer
3069
- * @param {shaka.extern.TextDisplayerConfiguration} config
3070
3068
  */
3071
- constructor(video, videoContainer, config) {}
3069
+ constructor(video, videoContainer) {}
3072
3070
  /**
3073
3071
  * @override
3074
3072
  */
@@ -3737,6 +3735,11 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
3737
3735
  * @param {HTMLElement} videoContainer
3738
3736
  */
3739
3737
  setVideoContainer(videoContainer) {}
3738
+ /**
3739
+ * Indicate if the video has ended.
3740
+ * @return {boolean}
3741
+ */
3742
+ isEnded() {}
3740
3743
  };
3741
3744
  /**
3742
3745
  * In order to know what method of loading the player used for some content, we