shaka-player 4.2.4 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/.github/workflows/sync-labels.yaml +1 -1
  2. package/.github/workflows/update-issues.yaml +1 -1
  3. package/AUTHORS +4 -0
  4. package/CHANGELOG.md +85 -54
  5. package/CONTRIBUTORS +4 -0
  6. package/README.md +14 -0
  7. package/demo/common/assets.js +58 -0
  8. package/demo/common/message_ids.js +22 -1
  9. package/demo/config.js +89 -5
  10. package/demo/demo.less +7 -1
  11. package/demo/index.html +8 -1
  12. package/demo/locales/en.json +21 -1
  13. package/demo/locales/source.json +82 -2
  14. package/demo/main.js +57 -1
  15. package/demo/search.js +2 -0
  16. package/demo/visualizer.js +337 -0
  17. package/demo/visualizer_button.js +103 -0
  18. package/dist/controls.css +1 -1
  19. package/dist/controls.css.map +1 -1
  20. package/dist/demo.compiled.debug.js +83 -58
  21. package/dist/demo.compiled.debug.map +4 -4
  22. package/dist/demo.compiled.js +83 -58
  23. package/dist/demo.compiled.map +4 -4
  24. package/dist/demo.css +1 -1
  25. package/dist/demo.css.map +1 -1
  26. package/dist/deps.js +16 -9
  27. package/dist/locales.js +32 -32
  28. package/dist/receiver.compiled.debug.js +23 -19
  29. package/dist/receiver.compiled.debug.map +3 -3
  30. package/dist/receiver.compiled.js +23 -19
  31. package/dist/receiver.compiled.map +3 -3
  32. package/dist/shaka-player.compiled.d.ts +173 -26
  33. package/dist/shaka-player.compiled.debug.d.ts +173 -26
  34. package/dist/shaka-player.compiled.debug.externs.js +161 -31
  35. package/dist/shaka-player.compiled.debug.js +464 -401
  36. package/dist/shaka-player.compiled.debug.map +4 -4
  37. package/dist/shaka-player.compiled.externs.js +161 -31
  38. package/dist/shaka-player.compiled.js +897 -862
  39. package/dist/shaka-player.compiled.map +4 -4
  40. package/dist/shaka-player.ui.d.ts +173 -26
  41. package/dist/shaka-player.ui.debug.d.ts +173 -26
  42. package/dist/shaka-player.ui.debug.externs.js +161 -31
  43. package/dist/shaka-player.ui.debug.js +488 -422
  44. package/dist/shaka-player.ui.debug.map +4 -4
  45. package/dist/shaka-player.ui.externs.js +161 -31
  46. package/dist/shaka-player.ui.js +1053 -1018
  47. package/dist/shaka-player.ui.map +4 -4
  48. package/docs/design/lcevc-architecture.png +0 -0
  49. package/docs/design/lcevc-demo.png +0 -0
  50. package/docs/design/lcevc-integration.md +72 -0
  51. package/docs/tutorials/fairplay.md +7 -0
  52. package/docs/tutorials/faq.md +1 -1
  53. package/docs/tutorials/ui.md +7 -7
  54. package/docs/tutorials/upgrade.md +6 -0
  55. package/externs/ima.js +13 -1
  56. package/externs/lcevc.js +81 -0
  57. package/externs/mux.js +1 -42
  58. package/externs/shaka/ads.js +11 -1
  59. package/externs/shaka/manifest_parser.js +5 -1
  60. package/externs/shaka/player.js +178 -15
  61. package/lib/abr/simple_abr_manager.js +7 -0
  62. package/lib/ads/ad_manager.js +0 -8
  63. package/lib/ads/client_side_ad.js +15 -0
  64. package/lib/ads/client_side_ad_manager.js +21 -8
  65. package/lib/ads/server_side_ad.js +15 -0
  66. package/lib/ads/server_side_ad_manager.js +3 -3
  67. package/lib/cast/cast_utils.js +2 -0
  68. package/lib/cea/dummy_cea_parser.js +28 -0
  69. package/lib/cea/i_cea_parser.js +14 -2
  70. package/lib/cea/mp4_cea_parser.js +87 -5
  71. package/lib/config/auto_show_text.js +33 -0
  72. package/lib/dash/dash_parser.js +1 -1
  73. package/lib/hls/hls_parser.js +790 -374
  74. package/lib/lcevc/lcevc_dil.js +152 -0
  75. package/lib/media/closed_caption_parser.js +9 -6
  76. package/lib/media/drm_engine.js +14 -6
  77. package/lib/media/media_source_engine.js +106 -26
  78. package/lib/media/presentation_timeline.js +26 -11
  79. package/lib/media/segment_reference.js +49 -1
  80. package/lib/media/streaming_engine.js +142 -12
  81. package/lib/media/transmuxer.js +73 -18
  82. package/lib/offline/storage.js +1 -0
  83. package/lib/player.js +454 -75
  84. package/lib/polyfill/patchedmediakeys_apple.js +55 -1
  85. package/lib/text/ui_text_displayer.js +5 -5
  86. package/lib/text/vtt_text_parser.js +35 -1
  87. package/lib/util/dom_utils.js +0 -1
  88. package/lib/util/error.js +17 -0
  89. package/lib/util/fake_event.js +2 -0
  90. package/lib/util/id3_utils.js +300 -0
  91. package/lib/util/mime_utils.js +3 -6
  92. package/lib/util/mp4_box_parsers.js +15 -5
  93. package/lib/util/platform.js +9 -1
  94. package/lib/util/player_configuration.js +23 -1
  95. package/lib/util/ts_parser.js +499 -0
  96. package/maintained-branches.md +2 -2
  97. package/package.json +4 -1
  98. package/roadmap.md +5 -3
  99. package/test/ads/ad_manager_unit.js +180 -29
  100. package/test/cast/cast_utils_unit.js +3 -1
  101. package/test/dash/dash_parser_content_protection_unit.js +1 -0
  102. package/test/dash/dash_parser_live_unit.js +1 -0
  103. package/test/dash/dash_parser_manifest_unit.js +93 -1
  104. package/test/dash/dash_parser_segment_base_unit.js +1 -0
  105. package/test/dash/dash_parser_segment_list_unit.js +1 -0
  106. package/test/dash/dash_parser_segment_template_unit.js +1 -0
  107. package/test/demo/demo_unit.js +2 -1
  108. package/test/hls/hls_live_unit.js +253 -19
  109. package/test/hls/hls_parser_unit.js +500 -12
  110. package/test/media/closed_caption_parser_unit.js +2 -1
  111. package/test/media/drm_engine_integration.js +3 -1
  112. package/test/media/media_source_engine_integration.js +71 -6
  113. package/test/media/media_source_engine_unit.js +10 -5
  114. package/test/media/streaming_engine_integration.js +4 -1
  115. package/test/media/streaming_engine_unit.js +144 -1
  116. package/test/media/transmuxer_integration.js +21 -10
  117. package/test/player_integration.js +224 -82
  118. package/test/player_unit.js +5 -2
  119. package/test/polyfill/patchedmediakeys_apple_unit.js +124 -0
  120. package/test/test/assets/id3-metadata.aac +0 -0
  121. package/test/test/assets/id3-metadata.ts +0 -0
  122. package/test/test/assets/thumbnails-sprites.vtt +10 -0
  123. package/test/test/assets/thumbnails.vtt +10 -0
  124. package/test/test/util/dash_parser_util.js +2 -0
  125. package/test/test/util/fake_ad.js +21 -0
  126. package/test/test/util/fake_media_source_engine.js +7 -0
  127. package/test/test/util/id3_generator.js +100 -0
  128. package/test/test/util/manifest_generator.js +3 -6
  129. package/test/test/util/simple_fakes.js +4 -0
  130. package/test/test/util/stream_generator.js +38 -0
  131. package/test/test/util/test_scheme.js +43 -14
  132. package/test/text/vtt_text_parser_unit.js +11 -0
  133. package/test/ui/text_displayer_layout_unit.js +14 -0
  134. package/test/util/id3_utils_unit.js +116 -0
  135. package/test/util/ts_parser_unit.js +77 -0
  136. package/ui/less/containers.less +7 -0
  137. package/ui/ui.js +43 -4
@@ -25,6 +25,14 @@ declare namespace shaka {
25
25
  * application. The track will not be automatically selected.
26
26
  */
27
27
  addTextTrackAsync (uri : string , language : string , kind : string , mimeType ? : string , codec ? : string , label ? : string , forced ? : boolean ) : Promise < shaka.extern.Track > ;
28
+ /**
29
+ * Adds the given thumbnails track to the loaded manifest.
30
+ * <code>load()</code> must resolve before calling. The presentation must
31
+ * have a duration.
32
+ * This returns the created track, which can immediately be used by the
33
+ * application.
34
+ */
35
+ addThumbnailsTrack (uri : string , mimeType ? : string ) : Promise < shaka.extern.Track > ;
28
36
  /**
29
37
  * Tell the player to use <code>mediaElement</code> for all <code>load</code>
30
38
  * requests until <code>detach</code> or <code>destroy</code> are called.
@@ -38,6 +46,11 @@ declare namespace shaka {
38
46
  * <code>detach</code>, or <code>unload</code>.
39
47
  */
40
48
  attach (mediaElement : HTMLMediaElement , initializeMediaSource ? : boolean ) : Promise < any > ;
49
+ /**
50
+ * Calling <code>attachCanvas</code> will tell the player to set canvas
51
+ * element for LCEVC decoding.
52
+ */
53
+ attachCanvas (canvas : HTMLCanvasElement | null ) : any ;
41
54
  /**
42
55
  * Cancel trick-play. If the player has not loaded content or is still loading
43
56
  * content this will be a no-op.
@@ -302,10 +315,10 @@ declare namespace shaka {
302
315
  seekRange ( ) : shaka.extern.BufferedRange ;
303
316
  /**
304
317
  * Sets the current audio language and current variant role to the selected
305
- * language and role, and chooses a new variant if need be. If the player has
306
- * not loaded any content, this will be a no-op.
318
+ * language, role and channel count, and chooses a new variant if need be.
319
+ * If the player has not loaded any content, this will be a no-op.
307
320
  */
308
- selectAudioLanguage (language : string , role ? : string ) : any ;
321
+ selectAudioLanguage (language : string , role ? : string , channelsCount ? : number ) : any ;
309
322
  /**
310
323
  * Sets the current text language and current text role to the selected
311
324
  * language and role, and chooses a new variant if need be. If the player has
@@ -622,12 +635,14 @@ declare namespace shaka.ads {
622
635
  private noStructuralTyping_shaka_ads_ClientSideAd : any;
623
636
  constructor (imaAd : google.ima.Ad , imaAdManager : google.ima.AdsManager , video : HTMLMediaElement | null ) ;
624
637
  canSkipNow ( ) : any ;
638
+ getDescription ( ) : any ;
625
639
  getDuration ( ) : any ;
626
640
  getMinSuggestedDuration ( ) : any ;
627
641
  getPositionInSequence ( ) : any ;
628
642
  getRemainingTime ( ) : any ;
629
643
  getSequenceLength ( ) : any ;
630
644
  getTimeUntilSkippable ( ) : any ;
645
+ getTitle ( ) : any ;
631
646
  getVolume ( ) : any ;
632
647
  isLinear ( ) : any ;
633
648
  isMuted ( ) : any ;
@@ -648,12 +663,14 @@ declare namespace shaka.ads {
648
663
  private noStructuralTyping_shaka_ads_ServerSideAd : any;
649
664
  constructor (imaAd : google.ima.dai.api.Ad | null , video : HTMLMediaElement | null ) ;
650
665
  canSkipNow ( ) : any ;
666
+ getDescription ( ) : any ;
651
667
  getDuration ( ) : any ;
652
668
  getMinSuggestedDuration ( ) : any ;
653
669
  getPositionInSequence ( ) : any ;
654
670
  getRemainingTime ( ) : any ;
655
671
  getSequenceLength ( ) : any ;
656
672
  getTimeUntilSkippable ( ) : any ;
673
+ getTitle ( ) : any ;
657
674
  getVolume ( ) : any ;
658
675
  isLinear ( ) : any ;
659
676
  isMuted ( ) : any ;
@@ -761,6 +778,15 @@ declare namespace shaka.cast {
761
778
  }
762
779
  }
763
780
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
781
+ declare namespace shaka.config {
782
+ enum AutoShowText {
783
+ ALWAYS = 1.0 ,
784
+ IF_PREFERRED_TEXT_LANGUAGE = 2.0 ,
785
+ IF_SUBTITLES_MAY_BE_NEEDED = 3.0 ,
786
+ NEVER = 0.0 ,
787
+ }
788
+ }
789
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
764
790
  declare namespace shaka.dash {
765
791
  /**
766
792
  * Creates a new DASH parser.
@@ -812,6 +838,17 @@ declare namespace shaka.hls {
812
838
  }
813
839
  }
814
840
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
841
+ declare namespace shaka.lcevc {
842
+ class Dil implements shaka.util.IReleasable {
843
+ private noStructuralTyping_shaka_lcevc_Dil : any;
844
+ constructor (media : HTMLVideoElement | null , canvas : HTMLCanvasElement | null , dilConfig : shaka.extern.LcevcConfiguration ) ;
845
+ /**
846
+ * Close LCEVC Dil.
847
+ */
848
+ release ( ) : any ;
849
+ }
850
+ }
851
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
815
852
  declare namespace shaka.media {
816
853
  /**
817
854
  * Creates an InitSegmentReference, which provides the location to an
@@ -819,7 +856,7 @@ declare namespace shaka.media {
819
856
  */
820
857
  class InitSegmentReference {
821
858
  private noStructuralTyping_shaka_media_InitSegmentReference : any;
822
- constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo ) ;
859
+ constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo , timescale ? : number ) ;
823
860
  /**
824
861
  * Returns the offset from the start of the resource to the end of the
825
862
  * segment, inclusive. A value of null indicates that the segment extends
@@ -948,10 +985,10 @@ declare namespace shaka.media {
948
985
  */
949
986
  notifyMinSegmentStartTime (startTime : number ) : any ;
950
987
  /**
951
- * Gives PresentationTimeline a Stream's segments so it can size and position
988
+ * Gives PresentationTimeline an array of segments so it can size and position
952
989
  * the segment availability window, and account for missing segment
953
- * information. This function should be called once for each Stream (no more,
954
- * no less).
990
+ * information. These segments do not necessarily need to all be from the
991
+ * same stream.
955
992
  */
956
993
  notifySegments (references : shaka.media.SegmentReference [] ) : any ;
957
994
  /**
@@ -982,6 +1019,11 @@ declare namespace shaka.media {
982
1019
  * @param duration The presentation's duration in seconds. Infinity indicates that the presentation continues indefinitely.
983
1020
  */
984
1021
  setDuration (duration : number ) : any ;
1022
+ /**
1023
+ * Sets the presentation's start time.
1024
+ * @param presentationStartTime The wall-clock time, in seconds, when the presentation started or will start. Only required for live.
1025
+ */
1026
+ setPresentationStartTime (presentationStartTime : number ) : any ;
985
1027
  /**
986
1028
  * Sets the presentation's segment availability duration. The segment
987
1029
  * availability duration should only be set for live.
@@ -1139,6 +1181,10 @@ declare namespace shaka.media {
1139
1181
  * Returns the segment's status.
1140
1182
  */
1141
1183
  getStatus ( ) : shaka.media.SegmentReference.Status ;
1184
+ /**
1185
+ * Returns the segment's thumbnail sprite.
1186
+ */
1187
+ getThumbnailSprite ( ) : shaka.media.SegmentReference.ThumbnailSprite | null ;
1142
1188
  /**
1143
1189
  * Returns the segment's explicit tile duration.
1144
1190
  * Only defined in image segments.
@@ -1156,6 +1202,10 @@ declare namespace shaka.media {
1156
1202
  * Mark the reference as unavailable.
1157
1203
  */
1158
1204
  markAsUnavailable ( ) : any ;
1205
+ /**
1206
+ * Set the segment's thumbnail sprite.
1207
+ */
1208
+ setThumbnailSprite (thumbnailSprite : shaka.media.SegmentReference.ThumbnailSprite ) : any ;
1159
1209
  }
1160
1210
  }
1161
1211
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1175,6 +1225,10 @@ declare namespace shaka.media.SegmentReference {
1175
1225
  }
1176
1226
  }
1177
1227
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1228
+ declare namespace shaka.media.SegmentReference {
1229
+ type ThumbnailSprite = { height : number , positionX : number , positionY : number , width : number } ;
1230
+ }
1231
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1178
1232
  declare namespace shaka.net {
1179
1233
  class DataUriPlugin {
1180
1234
  private noStructuralTyping_shaka_net_DataUriPlugin : any;
@@ -1540,8 +1594,13 @@ declare namespace shaka.polyfill {
1540
1594
  private noStructuralTyping_shaka_polyfill_PatchedMediaKeysApple : any;
1541
1595
  /**
1542
1596
  * Installs the polyfill if needed.
1597
+ * @param enableUninstall enables uninstalling the polyfill
1543
1598
  */
1544
- static install ( ) : any ;
1599
+ static install (enableUninstall : boolean ) : any ;
1600
+ /**
1601
+ * Uninstalls the polyfill if needed and enabled.
1602
+ */
1603
+ static uninstall ( ) : any ;
1545
1604
  }
1546
1605
  }
1547
1606
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -2667,6 +2726,8 @@ declare namespace shaka.util.Error {
2667
2726
  BUFFER_READ_OUT_OF_BOUNDS = 3000.0 ,
2668
2727
  CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM = 4033.0 ,
2669
2728
  CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS = 2012.0 ,
2729
+ CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM = 4045.0 ,
2730
+ CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_SRC_EQUALS = 2016.0 ,
2670
2731
  CANNOT_STORE_LIVE_OFFLINE = 9005.0 ,
2671
2732
  CAST_API_UNAVAILABLE = 8000.0 ,
2672
2733
  CAST_CANCELED_BY_USER = 8004.0 ,
@@ -2779,6 +2840,7 @@ declare namespace shaka.util.Error {
2779
2840
  UNABLE_TO_GUESS_MANIFEST_TYPE = 4000.0 ,
2780
2841
  UNEXPECTED_CAST_ERROR = 8003.0 ,
2781
2842
  UNEXPECTED_TEST_REQUEST = 1009.0 ,
2843
+ UNSUPPORTED_EXTERNAL_THUMBNAILS_URI = 2017.0 ,
2782
2844
  UNSUPPORTED_SCHEME = 1000.0 ,
2783
2845
  VIDEO_ERROR = 3016.0 ,
2784
2846
  WEBM_CUES_ELEMENT_MISSING = 3007.0 ,
@@ -2970,6 +3032,17 @@ declare namespace shaka.util {
2970
3032
  }
2971
3033
  }
2972
3034
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3035
+ declare namespace shaka.util {
3036
+ class Id3Utils {
3037
+ private noStructuralTyping_shaka_util_Id3Utils : any;
3038
+ /**
3039
+ * Returns an array of ID3 frames found in all the ID3 tags in the id3Data
3040
+ * @param id3Data - The ID3 data containing one or more ID3 tags
3041
+ */
3042
+ static getID3Frames (id3Data : Uint8Array | null ) : shaka.extern.MetadataFrame [] ;
3043
+ }
3044
+ }
3045
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
2973
3046
  declare namespace shaka.util {
2974
3047
  class LanguageUtils {
2975
3048
  private noStructuralTyping_shaka_util_LanguageUtils : any;
@@ -3234,6 +3307,12 @@ declare namespace shaka.util {
3234
3307
  }
3235
3308
  }
3236
3309
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3310
+ declare namespace shaka.util {
3311
+ class TsParser {
3312
+ private noStructuralTyping_shaka_util_TsParser : any;
3313
+ }
3314
+ }
3315
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3237
3316
  declare namespace shaka.util {
3238
3317
  class Uint8ArrayUtils {
3239
3318
  private noStructuralTyping_shaka_util_Uint8ArrayUtils : any;
@@ -3588,6 +3667,60 @@ declare namespace ಠ_ಠ.clutz {
3588
3667
  keys : ( JWK | null ) [] | null ;
3589
3668
  }
3590
3669
  }
3670
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
3671
+ declare namespace LcevcDil {
3672
+ /**
3673
+ * LCEVC DIL constructor
3674
+ */
3675
+ class LcevcDIL {
3676
+ private noStructuralTyping_LcevcDil_LcevcDIL : any;
3677
+ constructor (media : HTMLVideoElement | null , canvas : HTMLCanvasElement | null , dilConfig : shaka.extern.LcevcConfiguration ) ;
3678
+ /**
3679
+ * Append the video buffers before they are appended to
3680
+ * Media Source Extensions SourceBuffer. Here the lcevc data
3681
+ * will be parsed and managed to enhance frames based on timestamps.
3682
+ * @param data Video Buffer Data.
3683
+ * @param type Type of Video Buffer Data.
3684
+ * @param variantId Variant that the fragment belongs to.
3685
+ */
3686
+ appendBuffer (data : ArrayBuffer | ArrayBufferView , type : string , variantId : number ) : any ;
3687
+ /**
3688
+ * Close LCEVC DIL
3689
+ */
3690
+ close ( ) : any ;
3691
+ /**
3692
+ * Set container Format for LCEVC Data Parsing.
3693
+ * @param containerFormat container type of the stream.
3694
+ */
3695
+ setContainerFormat (containerFormat : number ) : any ;
3696
+ /**
3697
+ * Set current variant as variantId to the LCEVC decoder
3698
+ * @param autoBufferSwitch is lcevcDil mode that switches variant when the downloaded buffer from last variant has finished playing and buffers from the new variant starts to play.
3699
+ */
3700
+ setLevelSwitching (variantId : number , autoBufferSwitch : boolean ) : any ;
3701
+ }
3702
+ }
3703
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
3704
+ declare namespace LcevcDil.SupportObject {
3705
+ /**
3706
+ * LCEVC Support CheckList Error if any.
3707
+ */
3708
+ let SupportError : string ;
3709
+ }
3710
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
3711
+ declare namespace LcevcDil.SupportObject {
3712
+ /**
3713
+ * LCEVC Support Checklist Result
3714
+ */
3715
+ let SupportStatus : boolean ;
3716
+ }
3717
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
3718
+ declare namespace LcevcDil.SupportObject {
3719
+ /**
3720
+ * Check if canvas has WebGL support
3721
+ */
3722
+ function webGLSupport (canvas : HTMLCanvasElement | null ) : boolean ;
3723
+ }
3591
3724
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/mdl.js
3592
3725
  declare namespace ಠ_ಠ.clutz {
3593
3726
  class MaterialLayout {
@@ -3651,14 +3784,6 @@ declare namespace muxjs.mp4 {
3651
3784
  type ClosedCaption = { endPts : number , endTime : number , startPts : number , startTime : number , stream : string , text : string } ;
3652
3785
  }
3653
3786
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3654
- declare namespace muxjs.mp4 {
3655
- type Metadata = { cueTime : number , data : Uint8Array , dispatchType : string , dts : number , frames : muxjs.mp4.MetadataFrame [] , pts : number } ;
3656
- }
3657
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3658
- declare namespace muxjs.mp4 {
3659
- type MetadataFrame = { data : string , description : string , id : string , key : string , value : string } ;
3660
- }
3661
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3662
3787
  declare namespace muxjs.mp4 {
3663
3788
  type ParsedClosedCaptions = { captionStreams : { [ key: string ]: boolean } | null , captions : muxjs.mp4.ClosedCaption [] } ;
3664
3789
  }
@@ -3694,7 +3819,7 @@ declare namespace muxjs.mp4 {
3694
3819
  }
3695
3820
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3696
3821
  declare namespace muxjs.mp4.Transmuxer {
3697
- type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array , metadata : any [] } ;
3822
+ type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array } ;
3698
3823
  }
3699
3824
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/polyfill.js
3700
3825
  declare namespace window {
@@ -3861,6 +3986,7 @@ declare namespace shaka.extern {
3861
3986
  */
3862
3987
  interface IAd extends shaka.util.IReleasable {
3863
3988
  canSkipNow ( ) : boolean ;
3989
+ getDescription ( ) : string ;
3864
3990
  getDuration ( ) : number ;
3865
3991
  /**
3866
3992
  * Gets the minimum suggested duration. Defaults to being equivalent to
@@ -3871,6 +3997,7 @@ declare namespace shaka.extern {
3871
3997
  getRemainingTime ( ) : number ;
3872
3998
  getSequenceLength ( ) : number ;
3873
3999
  getTimeUntilSkippable ( ) : number ;
4000
+ getTitle ( ) : string ;
3874
4001
  getVolume ( ) : number ;
3875
4002
  isLinear ( ) : boolean ;
3876
4003
  isMuted ( ) : boolean ;
@@ -3900,7 +4027,7 @@ declare namespace shaka.extern {
3900
4027
  initClientSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
3901
4028
  initServerSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
3902
4029
  onAssetUnload ( ) : any ;
3903
- onCueMetadataChange (value : shaka.extern.ID3Metadata ) : any ;
4030
+ onCueMetadataChange (value : shaka.extern.MetadataFrame ) : any ;
3904
4031
  onDashTimedMetadata (region : shaka.extern.TimelineRegionInfo ) : any ;
3905
4032
  onHlsTimedMetadata (metadata : shaka.extern.ID3Metadata , timestampOffset : number ) : any ;
3906
4033
  release ( ) : any ;
@@ -4044,7 +4171,7 @@ declare namespace shaka.extern.ManifestParser {
4044
4171
  }
4045
4172
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
4046
4173
  declare namespace shaka.extern.ManifestParser {
4047
- type PlayerInterface = { enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , modifyManifestRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.ManifestInfo ) => any , modifySegmentRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.SegmentInfo ) => any , networkingEngine : shaka.net.NetworkingEngine , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
4174
+ type PlayerInterface = { enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , modifyManifestRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.ManifestInfo ) => any , modifySegmentRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.SegmentInfo ) => any , networkingEngine : shaka.net.NetworkingEngine , newDrmInfo : (a : shaka.extern.Stream ) => any , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
4048
4175
  }
4049
4176
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/mp4_parser.js
4050
4177
  declare namespace shaka.extern {
@@ -4309,7 +4436,7 @@ declare namespace shaka.extern {
4309
4436
  }
4310
4437
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4311
4438
  declare namespace shaka.extern {
4312
- type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , restrictToElementSize : boolean , restrictions : shaka.extern.Restrictions , switchInterval : number , useNetworkInformation : boolean } ;
4439
+ type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , restrictToElementSize : boolean , restrictToScreenSize : boolean , restrictions : shaka.extern.Restrictions , switchInterval : number , useNetworkInformation : boolean } ;
4313
4440
  }
4314
4441
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4315
4442
  declare namespace shaka.extern {
@@ -4337,7 +4464,7 @@ declare namespace shaka.extern {
4337
4464
  }
4338
4465
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4339
4466
  declare namespace shaka.extern {
4340
- type DashManifestConfiguration = { autoCorrectDrift : boolean , clockSyncUri : string , disableXlinkProcessing : boolean , ignoreDrmInfo : boolean , ignoreEmptyAdaptationSet : boolean , ignoreMaxSegmentDuration : boolean , ignoreMinBufferTime : boolean , ignoreSuggestedPresentationDelay : boolean , initialSegmentLimit : number , keySystemsByURI : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , xlinkFailGracefully : boolean } ;
4467
+ type DashManifestConfiguration = { autoCorrectDrift : boolean , clockSyncUri : string , disableXlinkProcessing : boolean , ignoreDrmInfo : boolean , ignoreEmptyAdaptationSet : boolean , ignoreMaxSegmentDuration : boolean , ignoreMinBufferTime : boolean , ignoreSuggestedPresentationDelay : boolean , initialSegmentLimit : number , keySystemsByURI : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , sequenceMode : boolean , xlinkFailGracefully : boolean } ;
4341
4468
  }
4342
4469
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4343
4470
  declare namespace shaka.extern {
@@ -4353,17 +4480,21 @@ declare namespace shaka.extern {
4353
4480
  }
4354
4481
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4355
4482
  declare namespace shaka.extern {
4356
- type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , mediaPlaylistFullMimeType : string } ;
4483
+ type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , useSafariBehaviorForLive : boolean } ;
4357
4484
  }
4358
4485
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4359
4486
  declare namespace shaka.extern {
4360
- type ID3Metadata = { [ key: string ]: any } ;
4487
+ type ID3Metadata = { cueTime : number | null , data : Uint8Array , dts : number | null , frames : shaka.extern.MetadataFrame [] , pts : number | null } ;
4361
4488
  }
4362
4489
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4363
4490
  declare namespace shaka.extern {
4364
4491
  type LanguageRole = { label : string | null , language : string , role : string } ;
4365
4492
  }
4366
4493
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4494
+ declare namespace shaka.extern {
4495
+ type LcevcConfiguration = { drawLogo : boolean , dynamicPerformanceScaling : boolean , enabled : boolean , logLevel : number } ;
4496
+ }
4497
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4367
4498
  declare namespace shaka.extern {
4368
4499
  type ManifestConfiguration = { availabilityWindowOverride : number , dash : shaka.extern.DashManifestConfiguration , defaultPresentationDelay : number , disableAudio : boolean , disableText : boolean , disableThumbnails : boolean , disableVideo : boolean , hls : shaka.extern.HlsManifestConfiguration , retryParameters : shaka.extern.RetryParameters , segmentRelativeVttTiming : boolean } ;
4369
4500
  }
@@ -4372,12 +4503,28 @@ declare namespace shaka.extern {
4372
4503
  type MediaQualityInfo = { audioSamplingRate : number | null , bandwidth : number , channelsCount : number | null , codecs : string , contentType : string , frameRate : number | null , height : number | null , mimeType : string | null , pixelAspectRatio : string | null , width : number | null } ;
4373
4504
  }
4374
4505
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4506
+ declare namespace shaka.extern {
4507
+ type MediaSourceConfiguration = { sourceBufferExtraFeatures : string } ;
4508
+ }
4509
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4510
+ declare namespace shaka.extern {
4511
+ type MetadataFrame = { data : ArrayBuffer | null | string , description : string , key : string } ;
4512
+ }
4513
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4514
+ declare namespace shaka.extern {
4515
+ type MetadataRawFrame = { data : Uint8Array | null , size : number , type : string } ;
4516
+ }
4517
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4375
4518
  declare namespace shaka.extern {
4376
4519
  type OfflineConfiguration = { downloadSizeCallback : (a : number ) => Promise < boolean > , numberOfParallelDownloads : number , progressCallback : (a : shaka.extern.StoredContent , b : number ) => any , trackSelectionCallback : (a : shaka.extern.TrackList ) => Promise < shaka.extern.TrackList > , usePersistentLicense : boolean } ;
4377
4520
  }
4378
4521
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4379
4522
  declare namespace shaka.extern {
4380
- type PlayerConfiguration = { abr : shaka.extern.AbrConfiguration , abrFactory : shaka.extern.AbrManager.Factory , cmcd : shaka.extern.CmcdConfiguration , drm : shaka.extern.DrmConfiguration , manifest : shaka.extern.ManifestConfiguration , offline : shaka.extern.OfflineConfiguration , playRangeEnd : number , playRangeStart : number , preferForcedSubs : boolean , preferredAudioChannelCount : number , preferredAudioCodecs : string [] , preferredAudioLanguage : string , preferredDecodingAttributes : string [] , preferredTextLanguage : string , preferredTextRole : string , preferredVariantRole : string , preferredVideoCodecs : string [] , restrictions : shaka.extern.Restrictions , streaming : shaka.extern.StreamingConfiguration , textDisplayFactory : shaka.extern.TextDisplayer.Factory } ;
4523
+ type PlayerConfiguration = { abr : shaka.extern.AbrConfiguration , abrFactory : shaka.extern.AbrManager.Factory , autoShowText : shaka.config.AutoShowText , cmcd : shaka.extern.CmcdConfiguration , drm : shaka.extern.DrmConfiguration , lcevc : shaka.extern.LcevcConfiguration , manifest : shaka.extern.ManifestConfiguration , mediaSource : shaka.extern.MediaSourceConfiguration , offline : shaka.extern.OfflineConfiguration , playRangeEnd : number , playRangeStart : number , preferForcedSubs : boolean , preferredAudioChannelCount : number , preferredAudioCodecs : string [] , preferredAudioLanguage : string , preferredDecodingAttributes : string [] , preferredTextLanguage : string , preferredTextRole : string , preferredVariantRole : string , preferredVideoCodecs : string [] , restrictions : shaka.extern.Restrictions , streaming : shaka.extern.StreamingConfiguration , textDisplayFactory : shaka.extern.TextDisplayer.Factory } ;
4524
+ }
4525
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4526
+ declare namespace shaka.extern {
4527
+ type ProducerReferenceTime = { programStartDate : Date | null , wallClockTime : number } ;
4381
4528
  }
4382
4529
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4383
4530
  declare namespace shaka.extern {
@@ -4393,7 +4540,7 @@ declare namespace shaka.extern {
4393
4540
  }
4394
4541
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4395
4542
  declare namespace shaka.extern {
4396
- type StreamingConfiguration = { alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , dispatchAllEmsgBoxes : boolean , durationBackoff : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTPS : boolean , forceTransmuxTS : boolean , gapDetectionThreshold : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , lowLatencyMode : boolean , maxDisabledTime : number , observeQualityChanges : boolean , preferNativeHls : boolean , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsOnSafari : boolean } ;
4543
+ type StreamingConfiguration = { alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , dispatchAllEmsgBoxes : boolean , durationBackoff : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTPS : boolean , forceTransmux : boolean , gapDetectionThreshold : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , lowLatencyMode : boolean , maxDisabledTime : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsOnSafari : boolean } ;
4397
4544
  }
4398
4545
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4399
4546
  declare namespace shaka.extern {
@@ -4401,7 +4548,7 @@ declare namespace shaka.extern {
4401
4548
  }
4402
4549
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4403
4550
  declare namespace shaka.extern {
4404
- type Thumbnail = { duration : number , height : number , imageHeight : number , imageWidth : number , positionX : number , positionY : number , startTime : number , uris : string [] , width : number } ;
4551
+ type Thumbnail = { duration : number , height : number , imageHeight : number , imageWidth : number , positionX : number , positionY : number , sprite : boolean , startTime : number , uris : string [] , width : number } ;
4405
4552
  }
4406
4553
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4407
4554
  declare namespace shaka.extern {