shaka-player 4.7.14 → 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 (52) hide show
  1. package/CONTRIBUTORS +1 -0
  2. package/dist/cast-boot.js +37 -0
  3. package/dist/deps.js +5 -4
  4. package/dist/locales.js +33 -33
  5. package/dist/shaka-player.compiled.d.ts +36 -14
  6. package/dist/shaka-player.compiled.debug.d.ts +36 -14
  7. package/dist/shaka-player.compiled.debug.externs.js +10 -0
  8. package/dist/shaka-player.compiled.debug.js +326 -320
  9. package/dist/shaka-player.compiled.debug.map +4 -4
  10. package/dist/shaka-player.compiled.externs.js +10 -0
  11. package/dist/shaka-player.compiled.js +1079 -1079
  12. package/dist/shaka-player.compiled.map +3 -3
  13. package/dist/shaka-player.ui.d.ts +36 -14
  14. package/dist/shaka-player.ui.debug.d.ts +36 -14
  15. package/dist/shaka-player.ui.debug.externs.js +10 -0
  16. package/dist/shaka-player.ui.debug.js +229 -221
  17. package/dist/shaka-player.ui.debug.map +4 -4
  18. package/dist/shaka-player.ui.externs.js +10 -0
  19. package/dist/shaka-player.ui.js +1228 -1228
  20. package/dist/shaka-player.ui.map +3 -3
  21. package/externs/cast-namespace.js +14 -0
  22. package/externs/{chromecast.js → cast-sdk-v2.js} +0 -4
  23. package/externs/cast-sdk-v3.js +35 -0
  24. package/externs/ima.js +2 -0
  25. package/externs/mediatailor.js +0 -0
  26. package/externs/{cast.js → remote-playback.js} +2 -2
  27. package/externs/shaka/player.js +5 -2
  28. package/lib/ads/client_side_ad_manager.js +5 -3
  29. package/lib/cea/cea608_data_channel.js +9 -0
  30. package/lib/cea/cea_decoder.js +9 -2
  31. package/lib/dash/segment_template.js +6 -1
  32. package/lib/hls/hls_parser.js +19 -10
  33. package/lib/media/closed_caption_parser.js +16 -4
  34. package/lib/media/gap_jumping_controller.js +9 -1
  35. package/lib/media/media_source_engine.js +7 -10
  36. package/lib/media/play_rate_controller.js +36 -8
  37. package/lib/media/stall_detector.js +3 -0
  38. package/lib/net/http_fetch_plugin.js +3 -1
  39. package/lib/net/http_xhr_plugin.js +6 -1
  40. package/lib/player.js +71 -40
  41. package/lib/polyfill/media_capabilities.js +7 -5
  42. package/lib/polyfill/patchedmediakeys_cert.js +62 -0
  43. package/lib/transmuxer/ts_transmuxer.js +6 -24
  44. package/lib/util/object_utils.js +1 -2
  45. package/lib/util/platform.js +70 -3
  46. package/lib/util/stream_utils.js +25 -12
  47. package/package.json +7 -2
  48. package/support.html +2 -0
  49. package/ui/audio_language_selection.js +4 -0
  50. package/ui/range_element.js +8 -2
  51. package/ui/resolution_selection.js +4 -0
  52. package/ui/text_selection.js +4 -0
package/CONTRIBUTORS CHANGED
@@ -111,6 +111,7 @@ Prakash Duggaraju <duggaraju@gmail.com>
111
111
  Robert Colantuoni <rgc@colantuoni.com>
112
112
  Robert Galluccio <robertnw5@gmail.com>
113
113
  Rodolphe Breton <robloche@gmail.com>
114
+ Roger Pales <pales.roger@gmail.com>
114
115
  Rohit Makasana <rohitbm@google.com>
115
116
  Rohan Gupta <rohangupta1528@gmail.com>
116
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
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
728
- MUTE: 'MUTE',
729
- CAST: 'CAST',
730
- AIRPLAY: 'AIRPLAY',
731
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
732
- SEEK: 'SEEK',
733
- LANGUAGE: 'LANGUAGE',
734
- FULL_SCREEN: 'FULL_SCREEN',
735
- AD_TIME: 'AD_TIME',
736
- UNMUTE: 'UNMUTE',
737
- PLAYBACK_RATE: 'PLAYBACK_RATE',
738
- NOT_APPLICABLE: 'NOT_APPLICABLE',
739
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
740
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
741
- SKIP_AD: 'SKIP_AD',
742
- STATISTICS: 'STATISTICS',
743
727
  FAST_FORWARD: 'FAST_FORWARD',
744
- AUTO_QUALITY: 'AUTO_QUALITY',
745
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
728
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
746
729
  OFF: 'OFF',
747
- CAPTIONS: 'CAPTIONS',
730
+ QUALITY: 'QUALITY',
731
+ SURROUND: 'SURROUND',
748
732
  PLAY: 'PLAY',
749
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
750
- AD_DURATION: 'AD_DURATION',
733
+ BACK: 'BACK',
734
+ VOLUME: 'VOLUME',
735
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
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',
751
743
  REWIND: 'REWIND',
752
- PAUSE: 'PAUSE',
753
744
  EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
745
+ CAPTIONS: 'CAPTIONS',
746
+ ON: 'ON',
747
+ AD_TIME: 'AD_TIME',
748
+ AD_DURATION: 'AD_DURATION',
754
749
  SKIP_TO_LIVE: 'SKIP_TO_LIVE',
755
- AD_PROGRESS: 'AD_PROGRESS',
750
+ LANGUAGE: 'LANGUAGE',
751
+ SKIP_AD: 'SKIP_AD',
752
+ FULL_SCREEN: 'FULL_SCREEN',
753
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
756
754
  LOOP: 'LOOP',
757
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
758
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
759
- LIVE: 'LIVE',
760
- ON: 'ON',
755
+ MUTE: 'MUTE',
756
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
761
757
  RESOLUTION: 'RESOLUTION',
762
- VOLUME: 'VOLUME',
763
- SURROUND: 'SURROUND',
764
- MORE_SETTINGS: 'MORE_SETTINGS',
765
- QUALITY: 'QUALITY',
766
758
  REPLAY: 'REPLAY',
767
- BACK: 'BACK',
768
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
759
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
760
+ UNMUTE: 'UNMUTE',
761
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
762
+ STATISTICS: 'STATISTICS',
763
+ PAUSE: 'PAUSE',
764
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
765
+ CAST: 'CAST',
766
+ AD_PROGRESS: 'AD_PROGRESS',
767
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
768
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
769
769
  };
@@ -1887,6 +1887,16 @@ declare namespace shaka.polyfill {
1887
1887
  }
1888
1888
  }
1889
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
1890
1900
  declare namespace shaka.polyfill {
1891
1901
  class PatchedMediaKeysNop {
1892
1902
  private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
@@ -3668,18 +3678,18 @@ declare namespace ಠ_ಠ.clutz {
3668
3678
  evaluate ( ) : any ;
3669
3679
  }
3670
3680
  }
3671
- // 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
3672
3682
  declare namespace ಠ_ಠ.clutz {
3673
3683
  function __onGCastApiAvailable (a : boolean ) : any ;
3674
3684
  }
3675
- // 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
3676
3686
  declare namespace cast.receiver {
3677
3687
  class CastChannel {
3678
3688
  private noStructuralTyping_cast_receiver_CastChannel : any;
3679
3689
  send (message : any ) : any ;
3680
3690
  }
3681
3691
  }
3682
- // 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
3683
3693
  declare namespace cast.receiver {
3684
3694
  class CastMessageBus {
3685
3695
  private noStructuralTyping_cast_receiver_CastMessageBus : any;
@@ -3688,7 +3698,7 @@ declare namespace cast.receiver {
3688
3698
  onMessage : Function | null ;
3689
3699
  }
3690
3700
  }
3691
- // 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
3692
3702
  declare namespace cast.receiver.CastMessageBus {
3693
3703
  class Event {
3694
3704
  private noStructuralTyping_cast_receiver_CastMessageBus_Event : any;
@@ -3696,7 +3706,7 @@ declare namespace cast.receiver.CastMessageBus {
3696
3706
  senderId : string ;
3697
3707
  }
3698
3708
  }
3699
- // 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
3700
3710
  declare namespace cast.receiver {
3701
3711
  class CastReceiverManager {
3702
3712
  private noStructuralTyping_cast_receiver_CastReceiverManager : any;
@@ -3714,7 +3724,7 @@ declare namespace cast.receiver {
3714
3724
  static getInstance ( ) : cast.receiver.CastReceiverManager | null ;
3715
3725
  }
3716
3726
  }
3717
- // 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
3718
3728
  declare namespace cast.receiver.media {
3719
3729
  enum MetadataType {
3720
3730
  GENERIC = 0.0 ,
@@ -3724,7 +3734,7 @@ declare namespace cast.receiver.media {
3724
3734
  TV_SHOW = 2.0 ,
3725
3735
  }
3726
3736
  }
3727
- // 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
3728
3738
  declare namespace cast.receiver.system {
3729
3739
  class SystemVolumeData {
3730
3740
  private noStructuralTyping_cast_receiver_system_SystemVolumeData : any;
@@ -3732,14 +3742,14 @@ declare namespace cast.receiver.system {
3732
3742
  muted : boolean ;
3733
3743
  }
3734
3744
  }
3735
- // 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
3736
3746
  declare namespace chrome.cast {
3737
3747
  class ApiConfig {
3738
3748
  private noStructuralTyping_chrome_cast_ApiConfig : any;
3739
3749
  constructor (sessionRequest : chrome.cast.SessionRequest | null , sessionListener : Function | null , receiverListener : Function | null , autoJoinPolicy ? : string , defaultActionPolicy ? : string ) ;
3740
3750
  }
3741
3751
  }
3742
- // 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
3743
3753
  declare namespace chrome.cast {
3744
3754
  class Error {
3745
3755
  private noStructuralTyping_chrome_cast_Error : any;
@@ -3749,14 +3759,14 @@ declare namespace chrome.cast {
3749
3759
  details : object | null ;
3750
3760
  }
3751
3761
  }
3752
- // 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
3753
3763
  declare namespace chrome.cast {
3754
3764
  class Receiver {
3755
3765
  private noStructuralTyping_chrome_cast_Receiver : any;
3756
3766
  friendlyName : string ;
3757
3767
  }
3758
3768
  }
3759
- // 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
3760
3770
  declare namespace chrome.cast {
3761
3771
  class Session {
3762
3772
  private noStructuralTyping_chrome_cast_Session : any;
@@ -3772,21 +3782,33 @@ declare namespace chrome.cast {
3772
3782
  stop (successCallback : Function | null , errorCallback : Function | null ) : any ;
3773
3783
  }
3774
3784
  }
3775
- // 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
3776
3786
  declare namespace chrome.cast {
3777
3787
  class SessionRequest {
3778
3788
  private noStructuralTyping_chrome_cast_SessionRequest : any;
3779
3789
  constructor (appId : string , capabilities : ( object | null ) [] | null , timeout : number | null , androidReceiverCompatible : boolean , credentialsData : object | null ) ;
3780
3790
  }
3781
3791
  }
3782
- // 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
3783
3793
  declare namespace chrome.cast.SessionStatus {
3784
3794
  let STOPPED : string ;
3785
3795
  }
3786
- // 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
3787
3797
  declare namespace chrome.cast {
3788
3798
  let isAvailable : boolean ;
3789
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
+ }
3790
3812
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/cmcd.js
3791
3813
  declare namespace ಠ_ಠ.clutz {
3792
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 } ;
@@ -1887,6 +1887,16 @@ declare namespace shaka.polyfill {
1887
1887
  }
1888
1888
  }
1889
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
1890
1900
  declare namespace shaka.polyfill {
1891
1901
  class PatchedMediaKeysNop {
1892
1902
  private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
@@ -3668,18 +3678,18 @@ declare namespace ಠ_ಠ.clutz {
3668
3678
  evaluate ( ) : any ;
3669
3679
  }
3670
3680
  }
3671
- // 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
3672
3682
  declare namespace ಠ_ಠ.clutz {
3673
3683
  function __onGCastApiAvailable (a : boolean ) : any ;
3674
3684
  }
3675
- // 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
3676
3686
  declare namespace cast.receiver {
3677
3687
  class CastChannel {
3678
3688
  private noStructuralTyping_cast_receiver_CastChannel : any;
3679
3689
  send (message : any ) : any ;
3680
3690
  }
3681
3691
  }
3682
- // 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
3683
3693
  declare namespace cast.receiver {
3684
3694
  class CastMessageBus {
3685
3695
  private noStructuralTyping_cast_receiver_CastMessageBus : any;
@@ -3688,7 +3698,7 @@ declare namespace cast.receiver {
3688
3698
  onMessage : Function | null ;
3689
3699
  }
3690
3700
  }
3691
- // 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
3692
3702
  declare namespace cast.receiver.CastMessageBus {
3693
3703
  class Event {
3694
3704
  private noStructuralTyping_cast_receiver_CastMessageBus_Event : any;
@@ -3696,7 +3706,7 @@ declare namespace cast.receiver.CastMessageBus {
3696
3706
  senderId : string ;
3697
3707
  }
3698
3708
  }
3699
- // 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
3700
3710
  declare namespace cast.receiver {
3701
3711
  class CastReceiverManager {
3702
3712
  private noStructuralTyping_cast_receiver_CastReceiverManager : any;
@@ -3714,7 +3724,7 @@ declare namespace cast.receiver {
3714
3724
  static getInstance ( ) : cast.receiver.CastReceiverManager | null ;
3715
3725
  }
3716
3726
  }
3717
- // 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
3718
3728
  declare namespace cast.receiver.media {
3719
3729
  enum MetadataType {
3720
3730
  GENERIC = 0.0 ,
@@ -3724,7 +3734,7 @@ declare namespace cast.receiver.media {
3724
3734
  TV_SHOW = 2.0 ,
3725
3735
  }
3726
3736
  }
3727
- // 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
3728
3738
  declare namespace cast.receiver.system {
3729
3739
  class SystemVolumeData {
3730
3740
  private noStructuralTyping_cast_receiver_system_SystemVolumeData : any;
@@ -3732,14 +3742,14 @@ declare namespace cast.receiver.system {
3732
3742
  muted : boolean ;
3733
3743
  }
3734
3744
  }
3735
- // 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
3736
3746
  declare namespace chrome.cast {
3737
3747
  class ApiConfig {
3738
3748
  private noStructuralTyping_chrome_cast_ApiConfig : any;
3739
3749
  constructor (sessionRequest : chrome.cast.SessionRequest | null , sessionListener : Function | null , receiverListener : Function | null , autoJoinPolicy ? : string , defaultActionPolicy ? : string ) ;
3740
3750
  }
3741
3751
  }
3742
- // 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
3743
3753
  declare namespace chrome.cast {
3744
3754
  class Error {
3745
3755
  private noStructuralTyping_chrome_cast_Error : any;
@@ -3749,14 +3759,14 @@ declare namespace chrome.cast {
3749
3759
  details : object | null ;
3750
3760
  }
3751
3761
  }
3752
- // 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
3753
3763
  declare namespace chrome.cast {
3754
3764
  class Receiver {
3755
3765
  private noStructuralTyping_chrome_cast_Receiver : any;
3756
3766
  friendlyName : string ;
3757
3767
  }
3758
3768
  }
3759
- // 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
3760
3770
  declare namespace chrome.cast {
3761
3771
  class Session {
3762
3772
  private noStructuralTyping_chrome_cast_Session : any;
@@ -3772,21 +3782,33 @@ declare namespace chrome.cast {
3772
3782
  stop (successCallback : Function | null , errorCallback : Function | null ) : any ;
3773
3783
  }
3774
3784
  }
3775
- // 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
3776
3786
  declare namespace chrome.cast {
3777
3787
  class SessionRequest {
3778
3788
  private noStructuralTyping_chrome_cast_SessionRequest : any;
3779
3789
  constructor (appId : string , capabilities : ( object | null ) [] | null , timeout : number | null , androidReceiverCompatible : boolean , credentialsData : object | null ) ;
3780
3790
  }
3781
3791
  }
3782
- // 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
3783
3793
  declare namespace chrome.cast.SessionStatus {
3784
3794
  let STOPPED : string ;
3785
3795
  }
3786
- // 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
3787
3797
  declare namespace chrome.cast {
3788
3798
  let isAvailable : boolean ;
3789
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
+ }
3790
3812
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/cmcd.js
3791
3813
  declare namespace ಠ_ಠ.clutz {
3792
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 } ;
@@ -4946,6 +4946,16 @@ shaka.polyfill.PatchedMediaKeysApple = class {
4946
4946
  */
4947
4947
  static uninstall() {}
4948
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
+ };
4949
4959
  /**
4950
4960
  * @summary A polyfill to stub out
4951
4961
  * {@link https://bit.ly/EmeMar15 EME draft 12 March 2015} on browsers without