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.compiled.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.compiled.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.compiled.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.compiled.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.compiled.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.compiled.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.compiled.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.compiled.externs.js
@@ -2200,6 +2259,8 @@ declare namespace shaka.util.Error {
2200
2259
  BUFFER_READ_OUT_OF_BOUNDS = 3000.0 ,
2201
2260
  CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM = 4033.0 ,
2202
2261
  CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS = 2012.0 ,
2262
+ CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM = 4045.0 ,
2263
+ CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_SRC_EQUALS = 2016.0 ,
2203
2264
  CANNOT_STORE_LIVE_OFFLINE = 9005.0 ,
2204
2265
  CAST_API_UNAVAILABLE = 8000.0 ,
2205
2266
  CAST_CANCELED_BY_USER = 8004.0 ,
@@ -2312,6 +2373,7 @@ declare namespace shaka.util.Error {
2312
2373
  UNABLE_TO_GUESS_MANIFEST_TYPE = 4000.0 ,
2313
2374
  UNEXPECTED_CAST_ERROR = 8003.0 ,
2314
2375
  UNEXPECTED_TEST_REQUEST = 1009.0 ,
2376
+ UNSUPPORTED_EXTERNAL_THUMBNAILS_URI = 2017.0 ,
2315
2377
  UNSUPPORTED_SCHEME = 1000.0 ,
2316
2378
  VIDEO_ERROR = 3016.0 ,
2317
2379
  WEBM_CUES_ELEMENT_MISSING = 3007.0 ,
@@ -2503,6 +2565,17 @@ declare namespace shaka.util {
2503
2565
  }
2504
2566
  }
2505
2567
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2568
+ declare namespace shaka.util {
2569
+ class Id3Utils {
2570
+ private noStructuralTyping_shaka_util_Id3Utils : any;
2571
+ /**
2572
+ * Returns an array of ID3 frames found in all the ID3 tags in the id3Data
2573
+ * @param id3Data - The ID3 data containing one or more ID3 tags
2574
+ */
2575
+ static getID3Frames (id3Data : Uint8Array | null ) : shaka.extern.MetadataFrame [] ;
2576
+ }
2577
+ }
2578
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2506
2579
  declare namespace shaka.util {
2507
2580
  class LanguageUtils {
2508
2581
  private noStructuralTyping_shaka_util_LanguageUtils : any;
@@ -2767,6 +2840,12 @@ declare namespace shaka.util {
2767
2840
  }
2768
2841
  }
2769
2842
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2843
+ declare namespace shaka.util {
2844
+ class TsParser {
2845
+ private noStructuralTyping_shaka_util_TsParser : any;
2846
+ }
2847
+ }
2848
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2770
2849
  declare namespace shaka.util {
2771
2850
  class Uint8ArrayUtils {
2772
2851
  private noStructuralTyping_shaka_util_Uint8ArrayUtils : any;
@@ -3121,6 +3200,60 @@ declare namespace ಠ_ಠ.clutz {
3121
3200
  keys : ( JWK | null ) [] | null ;
3122
3201
  }
3123
3202
  }
3203
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
3204
+ declare namespace LcevcDil {
3205
+ /**
3206
+ * LCEVC DIL constructor
3207
+ */
3208
+ class LcevcDIL {
3209
+ private noStructuralTyping_LcevcDil_LcevcDIL : any;
3210
+ constructor (media : HTMLVideoElement | null , canvas : HTMLCanvasElement | null , dilConfig : shaka.extern.LcevcConfiguration ) ;
3211
+ /**
3212
+ * Append the video buffers before they are appended to
3213
+ * Media Source Extensions SourceBuffer. Here the lcevc data
3214
+ * will be parsed and managed to enhance frames based on timestamps.
3215
+ * @param data Video Buffer Data.
3216
+ * @param type Type of Video Buffer Data.
3217
+ * @param variantId Variant that the fragment belongs to.
3218
+ */
3219
+ appendBuffer (data : ArrayBuffer | ArrayBufferView , type : string , variantId : number ) : any ;
3220
+ /**
3221
+ * Close LCEVC DIL
3222
+ */
3223
+ close ( ) : any ;
3224
+ /**
3225
+ * Set container Format for LCEVC Data Parsing.
3226
+ * @param containerFormat container type of the stream.
3227
+ */
3228
+ setContainerFormat (containerFormat : number ) : any ;
3229
+ /**
3230
+ * Set current variant as variantId to the LCEVC decoder
3231
+ * @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.
3232
+ */
3233
+ setLevelSwitching (variantId : number , autoBufferSwitch : boolean ) : any ;
3234
+ }
3235
+ }
3236
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
3237
+ declare namespace LcevcDil.SupportObject {
3238
+ /**
3239
+ * LCEVC Support CheckList Error if any.
3240
+ */
3241
+ let SupportError : string ;
3242
+ }
3243
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
3244
+ declare namespace LcevcDil.SupportObject {
3245
+ /**
3246
+ * LCEVC Support Checklist Result
3247
+ */
3248
+ let SupportStatus : boolean ;
3249
+ }
3250
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
3251
+ declare namespace LcevcDil.SupportObject {
3252
+ /**
3253
+ * Check if canvas has WebGL support
3254
+ */
3255
+ function webGLSupport (canvas : HTMLCanvasElement | null ) : boolean ;
3256
+ }
3124
3257
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/mdl.js
3125
3258
  declare namespace ಠ_ಠ.clutz {
3126
3259
  class MaterialLayout {
@@ -3184,14 +3317,6 @@ declare namespace muxjs.mp4 {
3184
3317
  type ClosedCaption = { endPts : number , endTime : number , startPts : number , startTime : number , stream : string , text : string } ;
3185
3318
  }
3186
3319
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3187
- declare namespace muxjs.mp4 {
3188
- type Metadata = { cueTime : number , data : Uint8Array , dispatchType : string , dts : number , frames : muxjs.mp4.MetadataFrame [] , pts : number } ;
3189
- }
3190
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3191
- declare namespace muxjs.mp4 {
3192
- type MetadataFrame = { data : string , description : string , id : string , key : string , value : string } ;
3193
- }
3194
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3195
3320
  declare namespace muxjs.mp4 {
3196
3321
  type ParsedClosedCaptions = { captionStreams : { [ key: string ]: boolean } | null , captions : muxjs.mp4.ClosedCaption [] } ;
3197
3322
  }
@@ -3227,7 +3352,7 @@ declare namespace muxjs.mp4 {
3227
3352
  }
3228
3353
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3229
3354
  declare namespace muxjs.mp4.Transmuxer {
3230
- type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array , metadata : any [] } ;
3355
+ type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array } ;
3231
3356
  }
3232
3357
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/polyfill.js
3233
3358
  declare namespace window {
@@ -3394,6 +3519,7 @@ declare namespace shaka.extern {
3394
3519
  */
3395
3520
  interface IAd extends shaka.util.IReleasable {
3396
3521
  canSkipNow ( ) : boolean ;
3522
+ getDescription ( ) : string ;
3397
3523
  getDuration ( ) : number ;
3398
3524
  /**
3399
3525
  * Gets the minimum suggested duration. Defaults to being equivalent to
@@ -3404,6 +3530,7 @@ declare namespace shaka.extern {
3404
3530
  getRemainingTime ( ) : number ;
3405
3531
  getSequenceLength ( ) : number ;
3406
3532
  getTimeUntilSkippable ( ) : number ;
3533
+ getTitle ( ) : string ;
3407
3534
  getVolume ( ) : number ;
3408
3535
  isLinear ( ) : boolean ;
3409
3536
  isMuted ( ) : boolean ;
@@ -3433,7 +3560,7 @@ declare namespace shaka.extern {
3433
3560
  initClientSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
3434
3561
  initServerSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
3435
3562
  onAssetUnload ( ) : any ;
3436
- onCueMetadataChange (value : shaka.extern.ID3Metadata ) : any ;
3563
+ onCueMetadataChange (value : shaka.extern.MetadataFrame ) : any ;
3437
3564
  onDashTimedMetadata (region : shaka.extern.TimelineRegionInfo ) : any ;
3438
3565
  onHlsTimedMetadata (metadata : shaka.extern.ID3Metadata , timestampOffset : number ) : any ;
3439
3566
  release ( ) : any ;
@@ -3577,7 +3704,7 @@ declare namespace shaka.extern.ManifestParser {
3577
3704
  }
3578
3705
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
3579
3706
  declare namespace shaka.extern.ManifestParser {
3580
- 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 } ;
3707
+ 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 } ;
3581
3708
  }
3582
3709
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/mp4_parser.js
3583
3710
  declare namespace shaka.extern {
@@ -3842,7 +3969,7 @@ declare namespace shaka.extern {
3842
3969
  }
3843
3970
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3844
3971
  declare namespace shaka.extern {
3845
- 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 } ;
3972
+ 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 } ;
3846
3973
  }
3847
3974
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3848
3975
  declare namespace shaka.extern {
@@ -3870,7 +3997,7 @@ declare namespace shaka.extern {
3870
3997
  }
3871
3998
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3872
3999
  declare namespace shaka.extern {
3873
- 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 } ;
4000
+ 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 } ;
3874
4001
  }
3875
4002
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3876
4003
  declare namespace shaka.extern {
@@ -3886,17 +4013,21 @@ declare namespace shaka.extern {
3886
4013
  }
3887
4014
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3888
4015
  declare namespace shaka.extern {
3889
- type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , mediaPlaylistFullMimeType : string } ;
4016
+ type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , useSafariBehaviorForLive : boolean } ;
3890
4017
  }
3891
4018
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3892
4019
  declare namespace shaka.extern {
3893
- type ID3Metadata = { [ key: string ]: any } ;
4020
+ type ID3Metadata = { cueTime : number | null , data : Uint8Array , dts : number | null , frames : shaka.extern.MetadataFrame [] , pts : number | null } ;
3894
4021
  }
3895
4022
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3896
4023
  declare namespace shaka.extern {
3897
4024
  type LanguageRole = { label : string | null , language : string , role : string } ;
3898
4025
  }
3899
4026
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4027
+ declare namespace shaka.extern {
4028
+ type LcevcConfiguration = { drawLogo : boolean , dynamicPerformanceScaling : boolean , enabled : boolean , logLevel : number } ;
4029
+ }
4030
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3900
4031
  declare namespace shaka.extern {
3901
4032
  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 } ;
3902
4033
  }
@@ -3905,12 +4036,28 @@ declare namespace shaka.extern {
3905
4036
  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 } ;
3906
4037
  }
3907
4038
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4039
+ declare namespace shaka.extern {
4040
+ type MediaSourceConfiguration = { sourceBufferExtraFeatures : string } ;
4041
+ }
4042
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4043
+ declare namespace shaka.extern {
4044
+ type MetadataFrame = { data : ArrayBuffer | null | string , description : string , key : string } ;
4045
+ }
4046
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4047
+ declare namespace shaka.extern {
4048
+ type MetadataRawFrame = { data : Uint8Array | null , size : number , type : string } ;
4049
+ }
4050
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3908
4051
  declare namespace shaka.extern {
3909
4052
  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 } ;
3910
4053
  }
3911
4054
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3912
4055
  declare namespace shaka.extern {
3913
- 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 } ;
4056
+ 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 } ;
4057
+ }
4058
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4059
+ declare namespace shaka.extern {
4060
+ type ProducerReferenceTime = { programStartDate : Date | null , wallClockTime : number } ;
3914
4061
  }
3915
4062
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3916
4063
  declare namespace shaka.extern {
@@ -3926,7 +4073,7 @@ declare namespace shaka.extern {
3926
4073
  }
3927
4074
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3928
4075
  declare namespace shaka.extern {
3929
- 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 } ;
4076
+ 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 } ;
3930
4077
  }
3931
4078
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3932
4079
  declare namespace shaka.extern {
@@ -3934,7 +4081,7 @@ declare namespace shaka.extern {
3934
4081
  }
3935
4082
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3936
4083
  declare namespace shaka.extern {
3937
- type Thumbnail = { duration : number , height : number , imageHeight : number , imageWidth : number , positionX : number , positionY : number , startTime : number , uris : string [] , width : number } ;
4084
+ type Thumbnail = { duration : number , height : number , imageHeight : number , imageWidth : number , positionX : number , positionY : number , sprite : boolean , startTime : number , uris : string [] , width : number } ;
3938
4085
  }
3939
4086
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3940
4087
  declare namespace shaka.extern {