shaka-player 4.7.13 → 4.7.15

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 (59) hide show
  1. package/AUTHORS +1 -0
  2. package/CONTRIBUTORS +2 -0
  3. package/dist/cast-boot.js +37 -0
  4. package/dist/deps.js +5 -4
  5. package/dist/locales.js +31 -31
  6. package/dist/shaka-player.compiled.d.ts +37 -14
  7. package/dist/shaka-player.compiled.debug.d.ts +37 -14
  8. package/dist/shaka-player.compiled.debug.externs.js +14 -0
  9. package/dist/shaka-player.compiled.debug.js +360 -350
  10. package/dist/shaka-player.compiled.debug.map +4 -4
  11. package/dist/shaka-player.compiled.externs.js +14 -0
  12. package/dist/shaka-player.compiled.js +1107 -1105
  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 +14 -0
  17. package/dist/shaka-player.ui.debug.js +280 -269
  18. package/dist/shaka-player.ui.debug.map +4 -4
  19. package/dist/shaka-player.ui.externs.js +14 -0
  20. package/dist/shaka-player.ui.js +1267 -1265
  21. package/dist/shaka-player.ui.map +4 -4
  22. package/externs/cast-namespace.js +14 -0
  23. package/externs/{chromecast.js → cast-sdk-v2.js} +0 -4
  24. package/externs/cast-sdk-v3.js +35 -0
  25. package/externs/ima.js +2 -0
  26. package/externs/mediatailor.js +0 -0
  27. package/externs/{cast.js → remote-playback.js} +2 -2
  28. package/externs/shaka/player.js +5 -2
  29. package/lib/ads/client_side_ad_manager.js +9 -5
  30. package/lib/cea/cea608_data_channel.js +9 -0
  31. package/lib/cea/cea_decoder.js +9 -2
  32. package/lib/dash/segment_template.js +30 -2
  33. package/lib/hls/hls_parser.js +19 -10
  34. package/lib/media/closed_caption_parser.js +16 -4
  35. package/lib/media/drm_engine.js +17 -3
  36. package/lib/media/gap_jumping_controller.js +9 -1
  37. package/lib/media/media_source_engine.js +20 -13
  38. package/lib/media/play_rate_controller.js +36 -8
  39. package/lib/media/playhead.js +3 -3
  40. package/lib/media/segment_index.js +10 -0
  41. package/lib/media/segment_reference.js +12 -0
  42. package/lib/media/stall_detector.js +3 -0
  43. package/lib/media/streaming_engine.js +8 -14
  44. package/lib/net/http_fetch_plugin.js +3 -1
  45. package/lib/net/http_xhr_plugin.js +6 -1
  46. package/lib/player.js +111 -53
  47. package/lib/polyfill/media_capabilities.js +7 -5
  48. package/lib/polyfill/patchedmediakeys_cert.js +62 -0
  49. package/lib/text/ui_text_displayer.js +10 -1
  50. package/lib/transmuxer/ts_transmuxer.js +6 -24
  51. package/lib/util/object_utils.js +1 -2
  52. package/lib/util/platform.js +100 -11
  53. package/lib/util/stream_utils.js +31 -14
  54. package/package.json +7 -2
  55. package/support.html +2 -0
  56. package/ui/audio_language_selection.js +4 -0
  57. package/ui/range_element.js +8 -2
  58. package/ui/resolution_selection.js +5 -0
  59. package/ui/text_selection.js +4 -0
package/AUTHORS CHANGED
@@ -28,6 +28,7 @@ Bonnier Broadcasting <*@bonnierbroadcasting.com>
28
28
  Bryan Huh <bhh1988@gmail.com>
29
29
  Charter Communications Inc <*@charter.com>
30
30
  Code It <*@code-it.fr>
31
+ Cristian Atehortua <cristian25a32@gmail.com>
31
32
  Damien Deis <developer.deis@gmail.com>
32
33
  Dany L'Hébreux <danylhebreux@gmail.com>
33
34
  Dave Nicholas <davenicholasuk@gmail.com>
package/CONTRIBUTORS CHANGED
@@ -44,6 +44,7 @@ Casey Occhialini <casey.occhialini@gmail.com>
44
44
  Chad Assareh <assareh@google.com>
45
45
  Chris Fillmore <fillmore.chris@gmail.com>
46
46
  Costel Madalin Grecu <madalin.grecu@adswizz.com>
47
+ Cristian Atehortua <cristian25a32@gmail.com>
47
48
  Damien Deis <developer.deis@gmail.com>
48
49
  Dany L'Hébreux <danylhebreux@gmail.com>
49
50
  Dave Nicholas <davenicholasuk@gmail.com>
@@ -110,6 +111,7 @@ Prakash Duggaraju <duggaraju@gmail.com>
110
111
  Robert Colantuoni <rgc@colantuoni.com>
111
112
  Robert Galluccio <robertnw5@gmail.com>
112
113
  Rodolphe Breton <robloche@gmail.com>
114
+ Roger Pales <pales.roger@gmail.com>
113
115
  Rohit Makasana <rohitbm@google.com>
114
116
  Rohan Gupta <rohangupta1528@gmail.com>
115
117
  Roi Lipman <roilipman@gmail.com>
@@ -0,0 +1,37 @@
1
+ /*! @license
2
+ * Shaka Player
3
+ * Copyright 2024 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ // Use indexOf() here, normally banned in favor of includes(), for
8
+ // compatibility with the oldest devices and runtimes.
9
+ // eslint-disable-next-line no-restricted-syntax
10
+ if (navigator.userAgent.indexOf('CrKey') != -1) {
11
+ // Running in any frame of a Chromecast device.
12
+ // Load and activate the Cast SDK.
13
+ console.log('Loading Cast SDK');
14
+
15
+ const script =
16
+ /** @type {HTMLScriptElement} **/(document.createElement('script'));
17
+
18
+ script.src = 'https://www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js';
19
+
20
+ // Use an anonymous function here, normally banned in favor of arrow
21
+ // functions, for compatibility with the oldest devices and runtimes.
22
+ // eslint-disable-next-line no-restricted-syntax
23
+ script.onload = function() {
24
+ cast.framework.CastReceiverContext.getInstance().start({
25
+ // What to show as the status of the app to senders
26
+ statusText: 'Shaka Player Testing',
27
+ // Don't shut down for a lack of sender input
28
+ disableIdleTimeout: true,
29
+ // Don't load player libraries, since we are loading Shaka here directly
30
+ skipPlayersLoad: true,
31
+ });
32
+
33
+ console.log('Cast SDK loaded');
34
+ };
35
+
36
+ document.head.appendChild(script);
37
+ }
package/dist/deps.js CHANGED
@@ -67,15 +67,15 @@ goog.addDependency('../../../../lib/lcevc/lcevc_dec.js', ['shaka.lcevc.Dec'], ['
67
67
  goog.addDependency('../../../../lib/media/adaptation_set.js', ['shaka.media.AdaptationSet'], ['goog.asserts', 'shaka.log', 'shaka.util.MimeUtils'], {'lang': 'es6'});
68
68
  goog.addDependency('../../../../lib/media/adaptation_set_criteria.js', ['shaka.media.AdaptationSetCriteria', 'shaka.media.ExampleBasedCriteria', 'shaka.media.PreferenceBasedCriteria'], ['shaka.config.CodecSwitchingStrategy', 'shaka.log', 'shaka.media.AdaptationSet', 'shaka.media.Capabilities', 'shaka.util.LanguageUtils'], {'lang': 'es6'});
69
69
  goog.addDependency('../../../../lib/media/buffering_observer.js', ['shaka.media.BufferingObserver'], [], {'lang': 'es6'});
70
- goog.addDependency('../../../../lib/media/closed_caption_parser.js', ['shaka.media.ClosedCaptionParser', 'shaka.media.IClosedCaptionParser'], ['shaka.cea.DummyCaptionDecoder', 'shaka.cea.DummyCeaParser', 'shaka.util.BufferUtils'], {'lang': 'es6'});
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
72
  goog.addDependency('../../../../lib/media/drm_engine.js', ['shaka.media.DrmEngine'], ['goog.asserts', 'shaka.log', 'shaka.net.NetworkingEngine', 'shaka.transmuxer.TransmuxerEngine', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.Lazy', 'shaka.util.ManifestParserUtils', 'shaka.util.MapUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.Pssh', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils', 'shaka.util.XmlUtils'], {'lang': 'es8'});
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.Timer'], {'lang': 'es6'});
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_parser.js', ['shaka.media.ManifestParser'], ['shaka.Deprecate', 'shaka.log', 'shaka.util.Error', 'shaka.util.Platform'], {'lang': 'es6'});
75
75
  goog.addDependency('../../../../lib/media/media_source_capabilities.js', ['shaka.media.Capabilities'], [], {'lang': 'es6'});
76
76
  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'});
77
77
  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'});
78
- goog.addDependency('../../../../lib/media/play_rate_controller.js', ['shaka.media.PlayRateController'], ['shaka.log', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
78
+ goog.addDependency('../../../../lib/media/play_rate_controller.js', ['shaka.media.PlayRateController'], ['goog.asserts', 'shaka.log', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
79
79
  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.Timer'], {'lang': 'es8'});
80
80
  goog.addDependency('../../../../lib/media/playhead_observer.js', ['shaka.media.IPlayheadObserver', 'shaka.media.PlayheadObserverManager'], ['shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
81
81
  goog.addDependency('../../../../lib/media/presentation_timeline.js', ['shaka.media.PresentationTimeline'], ['goog.asserts', 'shaka.log', 'shaka.media.SegmentReference'], {'lang': 'es6'});
@@ -130,6 +130,7 @@ goog.addDependency('../../../../lib/polyfill/media_capabilities.js', ['shaka.pol
130
130
  goog.addDependency('../../../../lib/polyfill/mediasource.js', ['shaka.polyfill.MediaSource'], ['shaka.log', 'shaka.polyfill', 'shaka.util.MimeUtils', 'shaka.util.Platform'], {'lang': 'es6'});
131
131
  goog.addDependency('../../../../lib/polyfill/orientation.js', ['shaka.polyfill.Orientation'], ['shaka.log', 'shaka.polyfill', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
132
132
  goog.addDependency('../../../../lib/polyfill/patchedmediakeys_apple.js', ['shaka.polyfill.PatchedMediaKeysApple'], ['goog.asserts', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.polyfill', 'shaka.util.BufferUtils', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.MediaReadyState', 'shaka.util.PublicPromise', 'shaka.util.StringUtils'], {'lang': 'es8'});
133
+ goog.addDependency('../../../../lib/polyfill/patchedmediakeys_cert.js', ['shaka.polyfill.PatchedMediaKeysCert'], ['shaka.log', 'shaka.polyfill', 'shaka.util.Platform'], {'lang': 'es6'});
133
134
  goog.addDependency('../../../../lib/polyfill/patchedmediakeys_nop.js', ['shaka.polyfill.PatchedMediaKeysNop'], ['goog.asserts', 'shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
134
135
  goog.addDependency('../../../../lib/polyfill/patchedmediakeys_webkit.js', ['shaka.polyfill.PatchedMediaKeysWebkit'], ['goog.asserts', 'shaka.log', 'shaka.media.DrmEngine', 'shaka.polyfill', 'shaka.util.BufferUtils', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.PublicPromise', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
135
136
  goog.addDependency('../../../../lib/polyfill/pip_webkit.js', ['shaka.polyfill.PiPWebkit'], ['shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
@@ -166,7 +167,7 @@ goog.addDependency('../../../../lib/transmuxer/mpeg_audio.js', ['shaka.transmuxe
166
167
  goog.addDependency('../../../../lib/transmuxer/mpeg_ts_transmuxer.js', ['shaka.transmuxer.MpegTsTransmuxer'], ['shaka.media.Capabilities', 'shaka.transmuxer.MpegAudio', 'shaka.transmuxer.TransmuxerEngine', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.TsParser', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
167
168
  goog.addDependency('../../../../lib/transmuxer/mss_transmuxer.js', ['shaka.transmuxer.MssTransmuxer'], ['shaka.dependencies', 'shaka.media.Capabilities', 'shaka.transmuxer.TransmuxerEngine', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.ManifestParserUtils'], {'lang': 'es6'});
168
169
  goog.addDependency('../../../../lib/transmuxer/transmuxer_engine.js', ['shaka.transmuxer.TransmuxerEngine'], ['shaka.util.IDestroyable'], {'lang': 'es6'});
169
- goog.addDependency('../../../../lib/transmuxer/ts_transmuxer.js', ['shaka.transmuxer.TsTransmuxer'], ['shaka.media.Capabilities', 'shaka.transmuxer.ADTS', 'shaka.transmuxer.AacTransmuxer', 'shaka.transmuxer.Ac3', 'shaka.transmuxer.Ec3', 'shaka.transmuxer.H264', 'shaka.transmuxer.H265', 'shaka.transmuxer.MpegAudio', 'shaka.transmuxer.TransmuxerEngine', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.Id3Utils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4Generator', 'shaka.util.TsParser', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
170
+ goog.addDependency('../../../../lib/transmuxer/ts_transmuxer.js', ['shaka.transmuxer.TsTransmuxer'], ['shaka.media.Capabilities', 'shaka.transmuxer.ADTS', 'shaka.transmuxer.AacTransmuxer', 'shaka.transmuxer.Ac3', 'shaka.transmuxer.Ec3', 'shaka.transmuxer.H264', 'shaka.transmuxer.H265', 'shaka.transmuxer.MpegAudio', 'shaka.transmuxer.TransmuxerEngine', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.Id3Utils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4Generator', 'shaka.util.StreamUtils', 'shaka.util.TsParser', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
170
171
  goog.addDependency('../../../../lib/util/abortable_operation.js', ['shaka.util.AbortableOperation'], ['shaka.util.Error', 'shaka.util.PublicPromise'], {'lang': 'es6'});
171
172
  goog.addDependency('../../../../lib/util/array_utils.js', ['shaka.util.ArrayUtils'], [], {'lang': 'es6'});
172
173
  goog.addDependency('../../../../lib/util/buffer_utils.js', ['shaka.util.BufferUtils'], [], {'lang': 'es6'});
package/dist/locales.js CHANGED
@@ -724,46 +724,46 @@ shaka.ui.Locales.addTo = function(localization) {
724
724
  * @const
725
725
  */
726
726
  shaka.ui.Locales.Ids = {
727
- OFF: 'OFF',
727
+ FAST_FORWARD: 'FAST_FORWARD',
728
728
  EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
729
- FULL_SCREEN: 'FULL_SCREEN',
729
+ OFF: 'OFF',
730
+ QUALITY: 'QUALITY',
731
+ SURROUND: 'SURROUND',
732
+ PLAY: 'PLAY',
733
+ BACK: 'BACK',
734
+ VOLUME: 'VOLUME',
730
735
  NOT_APPLICABLE: 'NOT_APPLICABLE',
731
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
732
- CAPTIONS: 'CAPTIONS',
736
+ LIVE: 'LIVE',
737
+ SEEK: 'SEEK',
738
+ AUTO_QUALITY: 'AUTO_QUALITY',
739
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
740
+ AIRPLAY: 'AIRPLAY',
741
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
742
+ MORE_SETTINGS: 'MORE_SETTINGS',
733
743
  REWIND: 'REWIND',
734
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
735
- REPLAY: 'REPLAY',
736
- BACK: 'BACK',
744
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
745
+ CAPTIONS: 'CAPTIONS',
746
+ ON: 'ON',
747
+ AD_TIME: 'AD_TIME',
748
+ AD_DURATION: 'AD_DURATION',
749
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
737
750
  LANGUAGE: 'LANGUAGE',
738
751
  SKIP_AD: 'SKIP_AD',
739
- PLAY: 'PLAY',
752
+ FULL_SCREEN: 'FULL_SCREEN',
753
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
754
+ LOOP: 'LOOP',
740
755
  MUTE: 'MUTE',
741
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
742
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
743
- MORE_SETTINGS: 'MORE_SETTINGS',
756
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
744
757
  RESOLUTION: 'RESOLUTION',
758
+ REPLAY: 'REPLAY',
745
759
  SUBTITLE_FORCED: 'SUBTITLE_FORCED',
746
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
747
- FAST_FORWARD: 'FAST_FORWARD',
748
- PAUSE: 'PAUSE',
749
- VOLUME: 'VOLUME',
750
760
  UNMUTE: 'UNMUTE',
751
- AIRPLAY: 'AIRPLAY',
752
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
753
- QUALITY: 'QUALITY',
754
- AD_TIME: 'AD_TIME',
755
- LOOP: 'LOOP',
756
- SURROUND: 'SURROUND',
757
- STATISTICS: 'STATISTICS',
758
- AUTO_QUALITY: 'AUTO_QUALITY',
759
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
760
- PLAYBACK_RATE: 'PLAYBACK_RATE',
761
- AD_PROGRESS: 'AD_PROGRESS',
762
- ON: 'ON',
763
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
764
761
  UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
765
- AD_DURATION: 'AD_DURATION',
766
- SEEK: 'SEEK',
762
+ STATISTICS: 'STATISTICS',
763
+ PAUSE: 'PAUSE',
764
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
767
765
  CAST: 'CAST',
768
- LIVE: 'LIVE',
766
+ AD_PROGRESS: 'AD_PROGRESS',
767
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
768
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
769
769
  };
@@ -1052,6 +1052,7 @@ declare namespace shaka.media {
1052
1052
  evict (time : number ) : any ;
1053
1053
  find (time : number ) : number | null ;
1054
1054
  fit (windowStart : number , windowEnd : number | null , c ? : boolean ) : any ;
1055
+ forEachTopLevelReference (fn : any ) : any ;
1055
1056
  get (position : number ) : shaka.media.SegmentReference | null ;
1056
1057
  merge (references : any ) : any ;
1057
1058
  mergeAndEvict (references : shaka.media.SegmentReference [] , windowStart : number ) : any ;
@@ -1886,6 +1887,16 @@ declare namespace shaka.polyfill {
1886
1887
  }
1887
1888
  }
1888
1889
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1890
+ declare namespace shaka.polyfill {
1891
+ class PatchedMediaKeysCert {
1892
+ private noStructuralTyping_shaka_polyfill_PatchedMediaKeysCert : any;
1893
+ /**
1894
+ * Installs the polyfill if needed.
1895
+ */
1896
+ static install ( ) : any ;
1897
+ }
1898
+ }
1899
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1889
1900
  declare namespace shaka.polyfill {
1890
1901
  class PatchedMediaKeysNop {
1891
1902
  private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
@@ -3667,18 +3678,18 @@ declare namespace ಠ_ಠ.clutz {
3667
3678
  evaluate ( ) : any ;
3668
3679
  }
3669
3680
  }
3670
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3681
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3671
3682
  declare namespace ಠ_ಠ.clutz {
3672
3683
  function __onGCastApiAvailable (a : boolean ) : any ;
3673
3684
  }
3674
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3685
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3675
3686
  declare namespace cast.receiver {
3676
3687
  class CastChannel {
3677
3688
  private noStructuralTyping_cast_receiver_CastChannel : any;
3678
3689
  send (message : any ) : any ;
3679
3690
  }
3680
3691
  }
3681
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3692
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3682
3693
  declare namespace cast.receiver {
3683
3694
  class CastMessageBus {
3684
3695
  private noStructuralTyping_cast_receiver_CastMessageBus : any;
@@ -3687,7 +3698,7 @@ declare namespace cast.receiver {
3687
3698
  onMessage : Function | null ;
3688
3699
  }
3689
3700
  }
3690
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3701
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3691
3702
  declare namespace cast.receiver.CastMessageBus {
3692
3703
  class Event {
3693
3704
  private noStructuralTyping_cast_receiver_CastMessageBus_Event : any;
@@ -3695,7 +3706,7 @@ declare namespace cast.receiver.CastMessageBus {
3695
3706
  senderId : string ;
3696
3707
  }
3697
3708
  }
3698
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3709
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3699
3710
  declare namespace cast.receiver {
3700
3711
  class CastReceiverManager {
3701
3712
  private noStructuralTyping_cast_receiver_CastReceiverManager : any;
@@ -3713,7 +3724,7 @@ declare namespace cast.receiver {
3713
3724
  static getInstance ( ) : cast.receiver.CastReceiverManager | null ;
3714
3725
  }
3715
3726
  }
3716
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3727
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3717
3728
  declare namespace cast.receiver.media {
3718
3729
  enum MetadataType {
3719
3730
  GENERIC = 0.0 ,
@@ -3723,7 +3734,7 @@ declare namespace cast.receiver.media {
3723
3734
  TV_SHOW = 2.0 ,
3724
3735
  }
3725
3736
  }
3726
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3737
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3727
3738
  declare namespace cast.receiver.system {
3728
3739
  class SystemVolumeData {
3729
3740
  private noStructuralTyping_cast_receiver_system_SystemVolumeData : any;
@@ -3731,14 +3742,14 @@ declare namespace cast.receiver.system {
3731
3742
  muted : boolean ;
3732
3743
  }
3733
3744
  }
3734
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3745
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3735
3746
  declare namespace chrome.cast {
3736
3747
  class ApiConfig {
3737
3748
  private noStructuralTyping_chrome_cast_ApiConfig : any;
3738
3749
  constructor (sessionRequest : chrome.cast.SessionRequest | null , sessionListener : Function | null , receiverListener : Function | null , autoJoinPolicy ? : string , defaultActionPolicy ? : string ) ;
3739
3750
  }
3740
3751
  }
3741
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3752
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3742
3753
  declare namespace chrome.cast {
3743
3754
  class Error {
3744
3755
  private noStructuralTyping_chrome_cast_Error : any;
@@ -3748,14 +3759,14 @@ declare namespace chrome.cast {
3748
3759
  details : object | null ;
3749
3760
  }
3750
3761
  }
3751
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3762
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3752
3763
  declare namespace chrome.cast {
3753
3764
  class Receiver {
3754
3765
  private noStructuralTyping_chrome_cast_Receiver : any;
3755
3766
  friendlyName : string ;
3756
3767
  }
3757
3768
  }
3758
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3769
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3759
3770
  declare namespace chrome.cast {
3760
3771
  class Session {
3761
3772
  private noStructuralTyping_chrome_cast_Session : any;
@@ -3771,21 +3782,33 @@ declare namespace chrome.cast {
3771
3782
  stop (successCallback : Function | null , errorCallback : Function | null ) : any ;
3772
3783
  }
3773
3784
  }
3774
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3785
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3775
3786
  declare namespace chrome.cast {
3776
3787
  class SessionRequest {
3777
3788
  private noStructuralTyping_chrome_cast_SessionRequest : any;
3778
3789
  constructor (appId : string , capabilities : ( object | null ) [] | null , timeout : number | null , androidReceiverCompatible : boolean , credentialsData : object | null ) ;
3779
3790
  }
3780
3791
  }
3781
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3792
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3782
3793
  declare namespace chrome.cast.SessionStatus {
3783
3794
  let STOPPED : string ;
3784
3795
  }
3785
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3796
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3786
3797
  declare namespace chrome.cast {
3787
3798
  let isAvailable : boolean ;
3788
3799
  }
3800
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v3.js
3801
+ declare namespace cast.framework {
3802
+ class CastReceiverContext {
3803
+ private noStructuralTyping_cast_framework_CastReceiverContext : any;
3804
+ start (options : cast.framework.CastReceiverOptions ) : cast.framework.CastReceiverContext ;
3805
+ static getInstance ( ) : cast.framework.CastReceiverContext ;
3806
+ }
3807
+ }
3808
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v3.js
3809
+ declare namespace cast.framework {
3810
+ type CastReceiverOptions = { disableIdleTimeout : boolean , skipPlayersLoad : boolean , statusText : string } ;
3811
+ }
3789
3812
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/cmcd.js
3790
3813
  declare namespace ಠ_ಠ.clutz {
3791
3814
  type CmcdData = { bl ? : number , br ? : number , bs ? : boolean , cid ? : string , d ? : number , dl ? : number , mtp ? : number , nor ? : string , nrr ? : string , ot ? : string , pr ? : number , rtp ? : number , sf ? : string , sid ? : string , st ? : string , su ? : boolean , tb ? : number , v ? : number } ;
@@ -1052,6 +1052,7 @@ declare namespace shaka.media {
1052
1052
  evict (time : number ) : any ;
1053
1053
  find (time : number ) : number | null ;
1054
1054
  fit (windowStart : number , windowEnd : number | null , c ? : boolean ) : any ;
1055
+ forEachTopLevelReference (fn : any ) : any ;
1055
1056
  get (position : number ) : shaka.media.SegmentReference | null ;
1056
1057
  merge (references : any ) : any ;
1057
1058
  mergeAndEvict (references : shaka.media.SegmentReference [] , windowStart : number ) : any ;
@@ -1886,6 +1887,16 @@ declare namespace shaka.polyfill {
1886
1887
  }
1887
1888
  }
1888
1889
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
1890
+ declare namespace shaka.polyfill {
1891
+ class PatchedMediaKeysCert {
1892
+ private noStructuralTyping_shaka_polyfill_PatchedMediaKeysCert : any;
1893
+ /**
1894
+ * Installs the polyfill if needed.
1895
+ */
1896
+ static install ( ) : any ;
1897
+ }
1898
+ }
1899
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
1889
1900
  declare namespace shaka.polyfill {
1890
1901
  class PatchedMediaKeysNop {
1891
1902
  private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
@@ -3667,18 +3678,18 @@ declare namespace ಠ_ಠ.clutz {
3667
3678
  evaluate ( ) : any ;
3668
3679
  }
3669
3680
  }
3670
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3681
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3671
3682
  declare namespace ಠ_ಠ.clutz {
3672
3683
  function __onGCastApiAvailable (a : boolean ) : any ;
3673
3684
  }
3674
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3685
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3675
3686
  declare namespace cast.receiver {
3676
3687
  class CastChannel {
3677
3688
  private noStructuralTyping_cast_receiver_CastChannel : any;
3678
3689
  send (message : any ) : any ;
3679
3690
  }
3680
3691
  }
3681
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3692
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3682
3693
  declare namespace cast.receiver {
3683
3694
  class CastMessageBus {
3684
3695
  private noStructuralTyping_cast_receiver_CastMessageBus : any;
@@ -3687,7 +3698,7 @@ declare namespace cast.receiver {
3687
3698
  onMessage : Function | null ;
3688
3699
  }
3689
3700
  }
3690
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3701
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3691
3702
  declare namespace cast.receiver.CastMessageBus {
3692
3703
  class Event {
3693
3704
  private noStructuralTyping_cast_receiver_CastMessageBus_Event : any;
@@ -3695,7 +3706,7 @@ declare namespace cast.receiver.CastMessageBus {
3695
3706
  senderId : string ;
3696
3707
  }
3697
3708
  }
3698
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3709
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3699
3710
  declare namespace cast.receiver {
3700
3711
  class CastReceiverManager {
3701
3712
  private noStructuralTyping_cast_receiver_CastReceiverManager : any;
@@ -3713,7 +3724,7 @@ declare namespace cast.receiver {
3713
3724
  static getInstance ( ) : cast.receiver.CastReceiverManager | null ;
3714
3725
  }
3715
3726
  }
3716
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3727
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3717
3728
  declare namespace cast.receiver.media {
3718
3729
  enum MetadataType {
3719
3730
  GENERIC = 0.0 ,
@@ -3723,7 +3734,7 @@ declare namespace cast.receiver.media {
3723
3734
  TV_SHOW = 2.0 ,
3724
3735
  }
3725
3736
  }
3726
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3737
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3727
3738
  declare namespace cast.receiver.system {
3728
3739
  class SystemVolumeData {
3729
3740
  private noStructuralTyping_cast_receiver_system_SystemVolumeData : any;
@@ -3731,14 +3742,14 @@ declare namespace cast.receiver.system {
3731
3742
  muted : boolean ;
3732
3743
  }
3733
3744
  }
3734
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3745
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3735
3746
  declare namespace chrome.cast {
3736
3747
  class ApiConfig {
3737
3748
  private noStructuralTyping_chrome_cast_ApiConfig : any;
3738
3749
  constructor (sessionRequest : chrome.cast.SessionRequest | null , sessionListener : Function | null , receiverListener : Function | null , autoJoinPolicy ? : string , defaultActionPolicy ? : string ) ;
3739
3750
  }
3740
3751
  }
3741
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3752
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3742
3753
  declare namespace chrome.cast {
3743
3754
  class Error {
3744
3755
  private noStructuralTyping_chrome_cast_Error : any;
@@ -3748,14 +3759,14 @@ declare namespace chrome.cast {
3748
3759
  details : object | null ;
3749
3760
  }
3750
3761
  }
3751
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3762
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3752
3763
  declare namespace chrome.cast {
3753
3764
  class Receiver {
3754
3765
  private noStructuralTyping_chrome_cast_Receiver : any;
3755
3766
  friendlyName : string ;
3756
3767
  }
3757
3768
  }
3758
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3769
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3759
3770
  declare namespace chrome.cast {
3760
3771
  class Session {
3761
3772
  private noStructuralTyping_chrome_cast_Session : any;
@@ -3771,21 +3782,33 @@ declare namespace chrome.cast {
3771
3782
  stop (successCallback : Function | null , errorCallback : Function | null ) : any ;
3772
3783
  }
3773
3784
  }
3774
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3785
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3775
3786
  declare namespace chrome.cast {
3776
3787
  class SessionRequest {
3777
3788
  private noStructuralTyping_chrome_cast_SessionRequest : any;
3778
3789
  constructor (appId : string , capabilities : ( object | null ) [] | null , timeout : number | null , androidReceiverCompatible : boolean , credentialsData : object | null ) ;
3779
3790
  }
3780
3791
  }
3781
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3792
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3782
3793
  declare namespace chrome.cast.SessionStatus {
3783
3794
  let STOPPED : string ;
3784
3795
  }
3785
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
3796
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
3786
3797
  declare namespace chrome.cast {
3787
3798
  let isAvailable : boolean ;
3788
3799
  }
3800
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v3.js
3801
+ declare namespace cast.framework {
3802
+ class CastReceiverContext {
3803
+ private noStructuralTyping_cast_framework_CastReceiverContext : any;
3804
+ start (options : cast.framework.CastReceiverOptions ) : cast.framework.CastReceiverContext ;
3805
+ static getInstance ( ) : cast.framework.CastReceiverContext ;
3806
+ }
3807
+ }
3808
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v3.js
3809
+ declare namespace cast.framework {
3810
+ type CastReceiverOptions = { disableIdleTimeout : boolean , skipPlayersLoad : boolean , statusText : string } ;
3811
+ }
3789
3812
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/cmcd.js
3790
3813
  declare namespace ಠ_ಠ.clutz {
3791
3814
  type CmcdData = { bl ? : number , br ? : number , bs ? : boolean , cid ? : string , d ? : number , dl ? : number , mtp ? : number , nor ? : string , nrr ? : string , ot ? : string , pr ? : number , rtp ? : number , sf ? : string , sid ? : string , st ? : string , su ? : boolean , tb ? : number , v ? : number } ;
@@ -2705,6 +2705,10 @@ shaka.media.MetaSegmentIndex = class extends shaka.media.SegmentIndex {
2705
2705
  * @override
2706
2706
  */
2707
2707
  release() {}
2708
+ /**
2709
+ * @override
2710
+ */
2711
+ forEachTopLevelReference(fn) {}
2708
2712
  /**
2709
2713
  * @override
2710
2714
  */
@@ -4942,6 +4946,16 @@ shaka.polyfill.PatchedMediaKeysApple = class {
4942
4946
  */
4943
4947
  static uninstall() {}
4944
4948
  };
4949
+ /**
4950
+ * @summary A polyfill to fix setServerCertificate implementation on
4951
+ * older platforms which claim to support modern EME.
4952
+ */
4953
+ shaka.polyfill.PatchedMediaKeysCert = class {
4954
+ /**
4955
+ * Installs the polyfill if needed.
4956
+ */
4957
+ static install() {}
4958
+ };
4945
4959
  /**
4946
4960
  * @summary A polyfill to stub out
4947
4961
  * {@link https://bit.ly/EmeMar15 EME draft 12 March 2015} on browsers without