shaka-player 4.9.13 → 4.10.1

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 (91) hide show
  1. package/README.md +4 -0
  2. package/dist/controls.css +2 -2
  3. package/dist/controls.css.map +1 -1
  4. package/dist/deps.js +24 -19
  5. package/dist/locales.js +46 -35
  6. package/dist/shaka-player.compiled.d.ts +291 -12
  7. package/dist/shaka-player.compiled.debug.d.ts +291 -12
  8. package/dist/shaka-player.compiled.debug.externs.js +443 -6
  9. package/dist/shaka-player.compiled.debug.js +651 -556
  10. package/dist/shaka-player.compiled.debug.map +4 -4
  11. package/dist/shaka-player.compiled.externs.js +443 -6
  12. package/dist/shaka-player.compiled.js +1325 -1270
  13. package/dist/shaka-player.compiled.map +4 -4
  14. package/dist/shaka-player.ui.d.ts +306 -13
  15. package/dist/shaka-player.ui.debug.d.ts +306 -13
  16. package/dist/shaka-player.ui.debug.externs.js +477 -18
  17. package/dist/shaka-player.ui.debug.js +799 -681
  18. package/dist/shaka-player.ui.debug.map +4 -4
  19. package/dist/shaka-player.ui.externs.js +477 -18
  20. package/dist/shaka-player.ui.js +1600 -1533
  21. package/dist/shaka-player.ui.map +4 -4
  22. package/externs/shaka/ads.js +21 -1
  23. package/externs/shaka/manifest.js +20 -1
  24. package/externs/shaka/manifest_parser.js +18 -1
  25. package/externs/shaka/player.js +164 -50
  26. package/lib/ads/ad_manager.js +225 -10
  27. package/lib/ads/ad_utils.js +323 -0
  28. package/lib/ads/ads_stats.js +24 -0
  29. package/lib/ads/client_side_ad_manager.js +42 -34
  30. package/lib/ads/interstitial_ad.js +292 -0
  31. package/lib/ads/interstitial_ad_manager.js +772 -0
  32. package/lib/ads/media_tailor_ad_manager.js +19 -22
  33. package/lib/ads/server_side_ad_manager.js +12 -15
  34. package/lib/cast/cast_utils.js +1 -0
  35. package/lib/cea/cea_utils.js +12 -0
  36. package/lib/cea/mp4_cea_parser.js +17 -0
  37. package/lib/dash/dash_parser.js +81 -28
  38. package/lib/dash/segment_base.js +3 -0
  39. package/lib/hls/hls_parser.js +429 -121
  40. package/lib/hls/manifest_text_parser.js +1 -0
  41. package/lib/media/adaptation_set_criteria.js +31 -1
  42. package/lib/media/drm_engine.js +16 -2
  43. package/lib/media/manifest_filterer.js +7 -5
  44. package/lib/media/preload_manager.js +8 -10
  45. package/lib/media/presentation_timeline.js +37 -5
  46. package/lib/media/quality_observer.js +68 -2
  47. package/lib/media/segment_reference.js +1 -1
  48. package/lib/media/segment_utils.js +33 -1
  49. package/lib/media/streaming_engine.js +120 -43
  50. package/lib/mss/mss_parser.js +13 -2
  51. package/lib/net/networking_engine.js +1 -0
  52. package/lib/offline/manifest_converter.js +3 -0
  53. package/lib/offline/offline_manifest_parser.js +5 -0
  54. package/lib/offline/storage.js +2 -0
  55. package/lib/player.js +498 -165
  56. package/lib/util/fake_event.js +1 -0
  57. package/lib/util/manifest_parser_utils.js +9 -2
  58. package/lib/util/mp4_box_parsers.js +32 -0
  59. package/lib/util/player_configuration.js +21 -9
  60. package/lib/util/stats.js +43 -0
  61. package/package.json +1 -1
  62. package/shaka-player.uncompiled.js +2 -0
  63. package/ui/ad_counter.js +3 -3
  64. package/ui/ad_position.js +3 -3
  65. package/ui/ad_statistics_button.js +237 -0
  66. package/ui/audio_language_selection.js +8 -4
  67. package/ui/controls.js +6 -3
  68. package/ui/element.js +3 -3
  69. package/ui/enums.js +1 -0
  70. package/ui/externs/ui.js +3 -0
  71. package/ui/language_utils.js +48 -3
  72. package/ui/less/containers.less +32 -0
  73. package/ui/less/thumbnails.less +13 -0
  74. package/ui/locales/en.json +2 -0
  75. package/ui/locales/es-419.json +2 -0
  76. package/ui/locales/es.json +3 -0
  77. package/ui/locales/fr.json +1 -0
  78. package/ui/locales/pl.json +1 -0
  79. package/ui/locales/pt-BR.json +1 -0
  80. package/ui/locales/pt-PT.json +1 -0
  81. package/ui/locales/source.json +8 -0
  82. package/ui/mute_button.js +4 -4
  83. package/ui/overflow_menu.js +3 -3
  84. package/ui/play_button.js +5 -7
  85. package/ui/presentation_time.js +3 -3
  86. package/ui/save_video_frame_button.js +196 -0
  87. package/ui/seek_bar.js +75 -20
  88. package/ui/skip_ad_button.js +4 -4
  89. package/ui/statistics_button.js +14 -2
  90. package/ui/ui.js +15 -0
  91. package/ui/volume_bar.js +4 -4
@@ -73,6 +73,10 @@ declare namespace shaka {
73
73
  * After destruction, a Player object cannot be used again.
74
74
  */
75
75
  destroy ( ) : Promise < any > ;
76
+ /**
77
+ * Calls |destroy| on each PreloadManager object this player has created.
78
+ */
79
+ destroyAllPreloads ( ) : any ;
76
80
  /**
77
81
  * Detach the player from the current media element. Leaves the player in a
78
82
  * state where it cannot play media, until it has been attached to something
@@ -87,7 +91,7 @@ declare namespace shaka {
87
91
  * Leaves the player in a state where it cannot play media, until it has been
88
92
  * attached to something else.
89
93
  */
90
- detachAndSavePreload (keepAdManager ? : boolean ) : Promise < shaka.media.PreloadManager | null > ;
94
+ detachAndSavePreload (keepAdManager ? : boolean , saveLivePosition ? : boolean ) : Promise < shaka.media.PreloadManager | null > ;
91
95
  /**
92
96
  * Get the drm info used to initialize EME. If EME is not being used, this
93
97
  * will return <code>null</code>. If the player is idle or has not initialized
@@ -274,6 +278,10 @@ declare namespace shaka {
274
278
  * return <code>false</code>.
275
279
  */
276
280
  isBuffering ( ) : boolean ;
281
+ /**
282
+ * Indicates if the player has fully loaded the stream.
283
+ */
284
+ isFullyLoaded ( ) : boolean ;
277
285
  /**
278
286
  * Get if the player is playing in-progress content. If the player has not
279
287
  * loaded content, this will return <code>false</code>.
@@ -347,7 +355,7 @@ declare namespace shaka {
347
355
  * language, role and channel count, and chooses a new variant if need be.
348
356
  * If the player has not loaded any content, this will be a no-op.
349
357
  */
350
- selectAudioLanguage (language : string , role ? : string , channelsCount ? : number , safeMargin ? : number ) : any ;
358
+ selectAudioLanguage (language : string , role ? : string , channelsCount ? : number , safeMargin ? : number , codec ? : string ) : any ;
351
359
  /**
352
360
  * Sets the current text language and current text role to the selected
353
361
  * language and role, and chooses a new variant if need be. If the player has
@@ -523,12 +531,14 @@ declare namespace shaka.ads {
523
531
  getServerSideCuePoints ( ) : shaka.extern.AdCuePoint [] ;
524
532
  getStats ( ) : shaka.extern.AdsStats ;
525
533
  initClientSide (adContainer : any , video : any , adsRenderingSettings : any ) : any ;
534
+ initInterstitial (adContainer : any , basePlayer : any , baseVideo : any ) : any ;
526
535
  initMediaTailor (adContainer : any , networkingEngine : any , video : any ) : any ;
527
536
  initServerSide (adContainer : any , video : any ) : any ;
528
537
  onAssetUnload ( ) : any ;
529
538
  onCueMetadataChange (value : any ) : any ;
530
539
  onDashTimedMetadata (region : any ) : any ;
531
540
  onHlsTimedMetadata (metadata : any , timestamp : any ) : any ;
541
+ onInterstitialMetadata (basePlayer : any , baseVideo : any , interstitial : any ) : any ;
532
542
  onManifestUpdated (isLive : any ) : any ;
533
543
  release ( ) : any ;
534
544
  replaceServerSideAdTagParameters (adTagParameters : any ) : any ;
@@ -539,131 +549,179 @@ declare namespace shaka.ads {
539
549
  updateClientSideAdsRenderingSettings (adsRenderingSettings : any ) : any ;
540
550
  /**
541
551
  * The event name for when a sequence of ads has been loaded.
552
+ * Deprecated, please use {@link shaka.ads.Utils}
542
553
  */
543
554
  static ADS_LOADED : string ;
544
555
  /**
545
556
  * The event name for when the client side SDK signalled its readiness
546
557
  * to play a VPAID ad or an ad rule.
558
+ * Deprecated, please use {@link shaka.ads.Utils}
547
559
  */
548
560
  static AD_BREAK_READY : string ;
549
561
  /**
550
562
  * The event name for when the ad is buffering.
563
+ * Deprecated, please use {@link shaka.ads.Utils}
551
564
  */
552
565
  static AD_BUFFERING : string ;
553
566
  /**
554
567
  * The event name for when the ad was clicked.
568
+ * Deprecated, please use {@link shaka.ads.Utils}
555
569
  */
556
570
  static AD_CLICKED : string ;
557
571
  /**
558
572
  * The event name for when the ad was closed by the user.
573
+ * Deprecated, please use {@link shaka.ads.Utils}
559
574
  */
560
575
  static AD_CLOSED : string ;
561
576
  /**
562
577
  * The event name for when an ad has completed playing.
578
+ * Deprecated, please use {@link shaka.ads.Utils}
563
579
  */
564
580
  static AD_COMPLETE : string ;
581
+ /**
582
+ * The name of the event for when an ad requires the video of the main content
583
+ * to be attached.
584
+ * Deprecated, please use {@link shaka.ads.Utils}
585
+ */
586
+ static AD_CONTENT_ATTACH_REQUESTED : string ;
587
+ /**
588
+ * The name of the event for when an ad requires the main content to be paused.
589
+ * Fired when the platform does not support multiple media elements.
590
+ * Deprecated, please use {@link shaka.ads.Utils}
591
+ */
592
+ static AD_CONTENT_PAUSE_REQUESTED : string ;
593
+ /**
594
+ * The name of the event for when an ad requires the main content to be resumed.
595
+ * Fired when the platform does not support multiple media elements.
596
+ * Deprecated, please use {@link shaka.ads.Utils}
597
+ */
598
+ static AD_CONTENT_RESUME_REQUESTED : string ;
565
599
  /**
566
600
  * The event name for when the ad's duration changed.
601
+ * Deprecated, please use {@link shaka.ads.Utils}
567
602
  */
568
603
  static AD_DURATION_CHANGED : string ;
569
604
  /**
570
605
  * The event name for when the ad manager dispatch errors.
606
+ * Deprecated, please use {@link shaka.ads.Utils}
571
607
  */
572
608
  static AD_ERROR : string ;
573
609
  /**
574
610
  * The event name for when an ad playhead crosses first quartile.
611
+ * Deprecated, please use {@link shaka.ads.Utils}
575
612
  */
576
613
  static AD_FIRST_QUARTILE : string ;
577
614
  /**
578
615
  * The event name for when the ad's URL was hit.
616
+ * Deprecated, please use {@link shaka.ads.Utils}
579
617
  */
580
618
  static AD_IMPRESSION : string ;
581
619
  /**
582
620
  * The event name for when the interaction callback for the ad was
583
621
  * triggered.
622
+ * Deprecated, please use {@link shaka.ads.Utils}
584
623
  */
585
624
  static AD_INTERACTION : string ;
586
625
  /**
587
626
  * The event name for when the ad changes from or to linear.
627
+ * Deprecated, please use {@link shaka.ads.Utils}
588
628
  */
589
629
  static AD_LINEAR_CHANGED : string ;
590
630
  /**
591
631
  * The event name for when the ad data becomes available.
632
+ * Deprecated, please use {@link shaka.ads.Utils}
592
633
  */
593
634
  static AD_LOADED : string ;
594
635
  /**
595
636
  * The event name for when the ad's metadata becomes available.
637
+ * Deprecated, please use {@link shaka.ads.Utils}
596
638
  */
597
639
  static AD_METADATA : string ;
598
640
  /**
599
641
  * The event name for when an ad playhead crosses midpoint.
642
+ * Deprecated, please use {@link shaka.ads.Utils}
600
643
  */
601
644
  static AD_MIDPOINT : string ;
602
645
  /**
603
646
  * The event name for when the ad was muted.
647
+ * Deprecated, please use {@link shaka.ads.Utils}
604
648
  */
605
649
  static AD_MUTED : string ;
606
650
  /**
607
651
  * The event name for when the ad was paused.
652
+ * Deprecated, please use {@link shaka.ads.Utils}
608
653
  */
609
654
  static AD_PAUSED : string ;
610
655
  /**
611
656
  * The event name for when there is an update to the current ad's progress.
657
+ * Deprecated, please use {@link shaka.ads.Utils}
612
658
  */
613
659
  static AD_PROGRESS : string ;
614
660
  /**
615
661
  * The event name for when the ad display encountered a recoverable
616
662
  * error.
663
+ * Deprecated, please use {@link shaka.ads.Utils}
617
664
  */
618
665
  static AD_RECOVERABLE_ERROR : string ;
619
666
  /**
620
667
  * The event name for when the ad was resumed after a pause.
668
+ * Deprecated, please use {@link shaka.ads.Utils}
621
669
  */
622
670
  static AD_RESUMED : string ;
623
671
  /**
624
- * The event name for when an ad is skipped by the user..
672
+ * The event name for when an ad is skipped by the user.
673
+ * Deprecated, please use {@link shaka.ads.Utils}
625
674
  */
626
675
  static AD_SKIPPED : string ;
627
676
  /**
628
677
  * The event name for when the ad's skip status changes
629
678
  * (usually it becomes skippable when it wasn't before).
679
+ * Deprecated, please use {@link shaka.ads.Utils}
630
680
  */
631
681
  static AD_SKIP_STATE_CHANGED : string ;
632
682
  /**
633
683
  * The event name for when an ad has started playing.
684
+ * Deprecated, please use {@link shaka.ads.Utils}
634
685
  */
635
686
  static AD_STARTED : string ;
636
687
  /**
637
688
  * The event name for when an ad has finished playing
638
689
  * (played all the way through, was skipped, or was unable to proceed
639
690
  * due to an error).
691
+ * Deprecated, please use {@link shaka.ads.Utils}
640
692
  */
641
693
  static AD_STOPPED : string ;
642
694
  /**
643
695
  * The event name for when an ad playhead crosses third quartile.
696
+ * Deprecated, please use {@link shaka.ads.Utils}
644
697
  */
645
698
  static AD_THIRD_QUARTILE : string ;
646
699
  /**
647
700
  * The event name for when the ad volume has changed.
701
+ * Deprecated, please use {@link shaka.ads.Utils}
648
702
  */
649
703
  static AD_VOLUME_CHANGED : string ;
650
704
  /**
651
705
  * The event name for when all the ads were completed.
706
+ * Deprecated, please use {@link shaka.ads.Utils}
652
707
  */
653
708
  static ALL_ADS_COMPLETED : string ;
654
709
  /**
655
710
  * The event name for when the ad's cue points (start/end markers)
656
711
  * have changed.
712
+ * Deprecated, please use {@link shaka.ads.Utils}
657
713
  */
658
714
  static CUEPOINTS_CHANGED : string ;
659
715
  /**
660
716
  * The event name for when the native IMA ad manager object has
661
717
  * loaded and become available.
718
+ * Deprecated, please use {@link shaka.ads.Utils}
662
719
  */
663
720
  static IMA_AD_MANAGER_LOADED : string ;
664
721
  /**
665
722
  * The event name for when the native IMA stream manager object has
666
723
  * loaded and become available.
724
+ * Deprecated, please use {@link shaka.ads.Utils}
667
725
  */
668
726
  static IMA_STREAM_MANAGER_LOADED : string ;
669
727
  }
@@ -706,6 +764,43 @@ declare namespace shaka.ads {
706
764
  }
707
765
  }
708
766
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
767
+ declare namespace shaka.ads {
768
+ class InterstitialAd implements shaka.extern.IAd {
769
+ private noStructuralTyping_shaka_ads_InterstitialAd : any;
770
+ constructor (video : HTMLMediaElement | null , isSkippable : boolean , onSkip : ( ) => any , sequenceLength : number , adPosition : number ) ;
771
+ canSkipNow ( ) : any ;
772
+ getAdId ( ) : any ;
773
+ getAdvertiserName ( ) : any ;
774
+ getCreativeAdId ( ) : any ;
775
+ getDescription ( ) : any ;
776
+ getDuration ( ) : any ;
777
+ getMediaUrl ( ) : any ;
778
+ getMinSuggestedDuration ( ) : any ;
779
+ getPodIndex ( ) : any ;
780
+ getPositionInSequence ( ) : any ;
781
+ getRemainingTime ( ) : any ;
782
+ getSequenceLength ( ) : any ;
783
+ getTimeOffset ( ) : any ;
784
+ getTimeUntilSkippable ( ) : any ;
785
+ getTitle ( ) : any ;
786
+ getVastMediaBitrate ( ) : any ;
787
+ getVastMediaHeight ( ) : any ;
788
+ getVastMediaWidth ( ) : any ;
789
+ getVolume ( ) : any ;
790
+ isLinear ( ) : any ;
791
+ isMuted ( ) : any ;
792
+ isPaused ( ) : any ;
793
+ isSkippable ( ) : any ;
794
+ pause ( ) : any ;
795
+ play ( ) : any ;
796
+ release ( ) : any ;
797
+ resize (width : any , height : any ) : any ;
798
+ setMuted (muted : any ) : any ;
799
+ setVolume (volume : any ) : any ;
800
+ skip ( ) : any ;
801
+ }
802
+ }
803
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
709
804
  declare namespace shaka.ads {
710
805
  class MediaTailorAd implements shaka.extern.IAd {
711
806
  private noStructuralTyping_shaka_ads_MediaTailorAd : any;
@@ -780,6 +875,159 @@ declare namespace shaka.ads {
780
875
  }
781
876
  }
782
877
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
878
+ declare namespace shaka.ads {
879
+ /**
880
+ * A class responsible for ad utils.
881
+ */
882
+ class Utils {
883
+ private noStructuralTyping_shaka_ads_Utils : any;
884
+ /**
885
+ * The event name for when a sequence of ads has been loaded.
886
+ */
887
+ static ADS_LOADED : string ;
888
+ /**
889
+ * The event name for when the client side SDK signalled its readiness
890
+ * to play a VPAID ad or an ad rule.
891
+ */
892
+ static AD_BREAK_READY : string ;
893
+ /**
894
+ * The event name for when the ad is buffering.
895
+ */
896
+ static AD_BUFFERING : string ;
897
+ /**
898
+ * The event name for when the ad was clicked.
899
+ */
900
+ static AD_CLICKED : string ;
901
+ /**
902
+ * The event name for when the ad was closed by the user.
903
+ */
904
+ static AD_CLOSED : string ;
905
+ /**
906
+ * The event name for when an ad has completed playing.
907
+ */
908
+ static AD_COMPLETE : string ;
909
+ /**
910
+ * The name of the event for when an ad requires the video of the main content
911
+ * to be attached.
912
+ */
913
+ static AD_CONTENT_ATTACH_REQUESTED : string ;
914
+ /**
915
+ * The name of the event for when an ad requires the main content to be paused.
916
+ * Fired when the platform does not support multiple media elements.
917
+ */
918
+ static AD_CONTENT_PAUSE_REQUESTED : string ;
919
+ /**
920
+ * The name of the event for when an ad requires the main content to be resumed.
921
+ * Fired when the platform does not support multiple media elements.
922
+ */
923
+ static AD_CONTENT_RESUME_REQUESTED : string ;
924
+ /**
925
+ * The event name for when the ad's duration changed.
926
+ */
927
+ static AD_DURATION_CHANGED : string ;
928
+ /**
929
+ * The event name for when the ad manager dispatch errors.
930
+ */
931
+ static AD_ERROR : string ;
932
+ /**
933
+ * The event name for when an ad playhead crosses first quartile.
934
+ */
935
+ static AD_FIRST_QUARTILE : string ;
936
+ /**
937
+ * The event name for when the ad's URL was hit.
938
+ */
939
+ static AD_IMPRESSION : string ;
940
+ /**
941
+ * The event name for when the interaction callback for the ad was
942
+ * triggered.
943
+ */
944
+ static AD_INTERACTION : string ;
945
+ /**
946
+ * The event name for when the ad changes from or to linear.
947
+ */
948
+ static AD_LINEAR_CHANGED : string ;
949
+ /**
950
+ * The event name for when the ad data becomes available.
951
+ */
952
+ static AD_LOADED : string ;
953
+ /**
954
+ * The event name for when the ad's metadata becomes available.
955
+ */
956
+ static AD_METADATA : string ;
957
+ /**
958
+ * The event name for when an ad playhead crosses midpoint.
959
+ */
960
+ static AD_MIDPOINT : string ;
961
+ /**
962
+ * The event name for when the ad was muted.
963
+ */
964
+ static AD_MUTED : string ;
965
+ /**
966
+ * The event name for when the ad was paused.
967
+ */
968
+ static AD_PAUSED : string ;
969
+ /**
970
+ * The event name for when there is an update to the current ad's progress.
971
+ */
972
+ static AD_PROGRESS : string ;
973
+ /**
974
+ * The event name for when the ad display encountered a recoverable
975
+ * error.
976
+ */
977
+ static AD_RECOVERABLE_ERROR : string ;
978
+ /**
979
+ * The event name for when the ad was resumed after a pause.
980
+ */
981
+ static AD_RESUMED : string ;
982
+ /**
983
+ * The event name for when an ad is skipped by the user..
984
+ */
985
+ static AD_SKIPPED : string ;
986
+ /**
987
+ * The event name for when the ad's skip status changes
988
+ * (usually it becomes skippable when it wasn't before).
989
+ */
990
+ static AD_SKIP_STATE_CHANGED : string ;
991
+ /**
992
+ * The event name for when an ad has started playing.
993
+ */
994
+ static AD_STARTED : string ;
995
+ /**
996
+ * The event name for when an ad has finished playing
997
+ * (played all the way through, was skipped, or was unable to proceed
998
+ * due to an error).
999
+ */
1000
+ static AD_STOPPED : string ;
1001
+ /**
1002
+ * The event name for when an ad playhead crosses third quartile.
1003
+ */
1004
+ static AD_THIRD_QUARTILE : string ;
1005
+ /**
1006
+ * The event name for when the ad volume has changed.
1007
+ */
1008
+ static AD_VOLUME_CHANGED : string ;
1009
+ /**
1010
+ * The event name for when all the ads were completed.
1011
+ */
1012
+ static ALL_ADS_COMPLETED : string ;
1013
+ /**
1014
+ * The event name for when the ad's cue points (start/end markers)
1015
+ * have changed.
1016
+ */
1017
+ static CUEPOINTS_CHANGED : string ;
1018
+ /**
1019
+ * The event name for when the native IMA ad manager object has
1020
+ * loaded and become available.
1021
+ */
1022
+ static IMA_AD_MANAGER_LOADED : string ;
1023
+ /**
1024
+ * The event name for when the native IMA stream manager object has
1025
+ * loaded and become available.
1026
+ */
1027
+ static IMA_STREAM_MANAGER_LOADED : string ;
1028
+ }
1029
+ }
1030
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
783
1031
  declare namespace shaka.cast {
784
1032
  class CastProxy extends shaka.util.FakeEventTarget implements shaka.util.IDestroyable {
785
1033
  private noStructuralTyping_shaka_cast_CastProxy : any;
@@ -933,6 +1181,7 @@ declare namespace shaka.dash {
933
1181
  configure (config : any ) : any ;
934
1182
  onExpirationUpdated (sessionId : any , expiration : any ) : any ;
935
1183
  onInitialVariantChosen (variant : any ) : any ;
1184
+ setMediaElement (mediaElement : any ) : any ;
936
1185
  start (uri : any , playerInterface : any ) : any ;
937
1186
  stop ( ) : any ;
938
1187
  update ( ) : any ;
@@ -973,6 +1222,7 @@ declare namespace shaka.hls {
973
1222
  configure (config : any ) : any ;
974
1223
  onExpirationUpdated (sessionId : any , expiration : any ) : any ;
975
1224
  onInitialVariantChosen (variant : any ) : any ;
1225
+ setMediaElement (mediaElement : any ) : any ;
976
1226
  start (uri : any , playerInterface : any ) : any ;
977
1227
  stop ( ) : any ;
978
1228
  update ( ) : any ;
@@ -1104,7 +1354,7 @@ declare namespace shaka.media {
1104
1354
  declare namespace shaka.media {
1105
1355
  class PreloadManager extends shaka.util.FakeEventTarget implements shaka.util.IDestroyable {
1106
1356
  private noStructuralTyping_shaka_media_PreloadManager : any;
1107
- constructor (assetUri : string , mimeType : string | null , startTimeOfLoad : number , startTime : number | null , playerInterface : any ) ;
1357
+ constructor (assetUri : string , mimeType : string | null , startTime : number | null , playerInterface : any ) ;
1108
1358
  /**
1109
1359
  * Releases or stops all non-entrusted resources.
1110
1360
  */
@@ -1123,6 +1373,11 @@ declare namespace shaka.media {
1123
1373
  class PresentationTimeline {
1124
1374
  private noStructuralTyping_shaka_media_PresentationTimeline : any;
1125
1375
  constructor (presentationStartTime : number | null , presentationDelay : number , autoCorrectDrift ? : boolean ) ;
1376
+ /**
1377
+ * Gets the presentation's segment availability time offset. This should be
1378
+ * only configured for Low Latency Dash.
1379
+ */
1380
+ getAvailabilityTimeOffset ( ) : number ;
1126
1381
  /**
1127
1382
  * Gets the presentation delay in seconds.
1128
1383
  */
@@ -1130,6 +1385,10 @@ declare namespace shaka.media {
1130
1385
  getDuration ( ) : number ;
1131
1386
  getInitialProgramDateTime ( ) : number | null ;
1132
1387
  getMaxSegmentDuration ( ) : number ;
1388
+ /**
1389
+ * Gets the end time of the last available segment.
1390
+ */
1391
+ getMaxSegmentEndTime ( ) : number | null ;
1133
1392
  getPresentationStartTime ( ) : number | null ;
1134
1393
  /**
1135
1394
  * Gets the seek range start time, offset by the given amount. This is used
@@ -1520,6 +1779,7 @@ declare namespace shaka.mss {
1520
1779
  configure (config : any ) : any ;
1521
1780
  onExpirationUpdated (sessionId : any , expiration : any ) : any ;
1522
1781
  onInitialVariantChosen (variant : any ) : any ;
1782
+ setMediaElement (mediaElement : HTMLMediaElement | null ) : any ;
1523
1783
  start (uri : any , playerInterface : any ) : any ;
1524
1784
  stop ( ) : any ;
1525
1785
  update ( ) : any ;
@@ -1644,6 +1904,7 @@ declare namespace shaka.net.NetworkingEngine {
1644
1904
  MEDIA_PLAYLIST = 2.0 ,
1645
1905
  MEDIA_SEGMENT = 1.0 ,
1646
1906
  MPD = 4.0 ,
1907
+ MPD_PATCH = 6.0 ,
1647
1908
  MSS = 5.0 ,
1648
1909
  }
1649
1910
  }
@@ -3881,7 +4142,7 @@ declare namespace shaka.extern {
3881
4142
  }
3882
4143
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/ads.js
3883
4144
  declare namespace shaka.extern {
3884
- type AdsStats = { loadTimes : number [] , playedCompletely : number , skipped : number , started : number } ;
4145
+ type AdsStats = { averageLoadTime : number , errors : number , loadTimes : number [] , playedCompletely : number , skipped : number , started : number } ;
3885
4146
  }
3886
4147
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/ads.js
3887
4148
  declare namespace shaka.extern {
@@ -3946,12 +4207,14 @@ declare namespace shaka.extern {
3946
4207
  */
3947
4208
  getStats ( ) : any ;
3948
4209
  initClientSide (adContainer : HTMLElement , video : HTMLMediaElement , adsRenderingSettings : any | null ) : any ;
4210
+ initInterstitial (adContainer : HTMLElement | null , basePlayer : shaka.Player , baseVideo : HTMLMediaElement ) : any ;
3949
4211
  initMediaTailor (adContainer : HTMLElement , networkingEngine : shaka.net.NetworkingEngine , video : HTMLMediaElement ) : any ;
3950
4212
  initServerSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
3951
4213
  onAssetUnload ( ) : any ;
3952
4214
  onCueMetadataChange (value : shaka.extern.MetadataFrame ) : any ;
3953
4215
  onDashTimedMetadata (region : shaka.extern.TimelineRegionInfo ) : any ;
3954
4216
  onHlsTimedMetadata (metadata : shaka.extern.ID3Metadata , timestampOffset : number ) : any ;
4217
+ onInterstitialMetadata (basePlayer : shaka.Player , baseVideo : HTMLMediaElement , interstitial : shaka.extern.Interstitial ) : any ;
3955
4218
  /**
3956
4219
  * Fired when the manifest is updated.
3957
4220
  */
@@ -4076,7 +4339,7 @@ declare namespace shaka.extern {
4076
4339
  }
4077
4340
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4078
4341
  declare namespace shaka.extern {
4079
- type DrmInfo = { audioRobustness : string , distinctiveIdentifierRequired : boolean , encryptionScheme : string , initData : shaka.extern.InitDataOverride [] | null , keyIds : Set < string > | null , keySystem : string , licenseServerUri : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
4342
+ type DrmInfo = { audioRobustness : string , distinctiveIdentifierRequired : boolean , encryptionScheme : string , initData : shaka.extern.InitDataOverride [] | null , keyIds : Set < string > | null , keySystem : string , keySystemUris ? : Set < string > | null , licenseServerUri : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
4080
4343
  }
4081
4344
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4082
4345
  declare namespace shaka.extern {
@@ -4092,7 +4355,7 @@ declare namespace shaka.extern {
4092
4355
  }
4093
4356
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4094
4357
  declare namespace shaka.extern {
4095
- type Manifest = { ignoreManifestTimestampsInSegmentsMode : boolean , imageStreams : shaka.extern.Stream [] , minBufferTime : number , nextUrl : string | null , offlineSessionIds : string [] , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , serviceDescription : shaka.extern.ServiceDescription | null , textStreams : shaka.extern.Stream [] , type : string , variants : shaka.extern.Variant [] } ;
4358
+ type Manifest = { gapCount : number , ignoreManifestTimestampsInSegmentsMode : boolean , imageStreams : shaka.extern.Stream [] , isLowLatency : boolean , minBufferTime : number , nextUrl : string | null , offlineSessionIds : string [] , periodCount : number , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , serviceDescription : shaka.extern.ServiceDescription | null , textStreams : shaka.extern.Stream [] , type : string , variants : shaka.extern.Variant [] } ;
4096
4359
  }
4097
4360
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4098
4361
  declare namespace shaka.extern {
@@ -4194,6 +4457,10 @@ declare namespace shaka.extern {
4194
4457
  * Tells the parser that the initial variant has been chosen.
4195
4458
  */
4196
4459
  onInitialVariantChosen (variant : shaka.extern.Variant ) : any ;
4460
+ /**
4461
+ * Set media element.
4462
+ */
4463
+ setMediaElement (mediaElement : HTMLMediaElement | null ) : any ;
4197
4464
  /**
4198
4465
  * Initialize and start the parser. When |start| resolves, it should return
4199
4466
  * the initial version of the manifest. |start| will only be called once. If
@@ -4228,7 +4495,7 @@ declare namespace shaka.extern.ManifestParser {
4228
4495
  }
4229
4496
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
4230
4497
  declare namespace shaka.extern.ManifestParser {
4231
- type PlayerInterface = { enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , getBandwidthEstimate : ( ) => number , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , networkingEngine : shaka.net.NetworkingEngine , newDrmInfo : (a : shaka.extern.Stream ) => any , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onManifestUpdated : ( ) => any , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
4498
+ type PlayerInterface = { disableStream : (a : shaka.extern.Stream ) => any , enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , getBandwidthEstimate : ( ) => number , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , networkingEngine : shaka.net.NetworkingEngine , newDrmInfo : (a : shaka.extern.Stream ) => any , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onManifestUpdated : ( ) => any , onMetadata : (a : string , b : number , c : number | null , d : shaka.extern.MetadataFrame [] ) => any , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
4232
4499
  }
4233
4500
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/mp4_parser.js
4234
4501
  declare namespace shaka.extern {
@@ -4554,6 +4821,10 @@ declare namespace shaka.extern {
4554
4821
  type DrmSupportType = { audioRobustnessLevels : string [] , encryptionSchemes : ( string | null ) [] , persistentState : boolean , videoRobustnessLevels : string [] } ;
4555
4822
  }
4556
4823
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4824
+ declare namespace shaka.extern {
4825
+ type DynamicTargetLatencyConfiguration = { enabled : boolean , maxAttempts : number , maxLatency : number , minLatency : number , rebufferIncrement : number , stabilityThreshold : number } ;
4826
+ }
4827
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4557
4828
  declare namespace shaka.extern {
4558
4829
  type EmsgInfo = { endTime : number , eventDuration : number , id : number , messageData : Uint8Array | null , presentationTimeDelta : number , schemeIdUri : string , startTime : number , timescale : number , value : string } ;
4559
4830
  }
@@ -4570,6 +4841,10 @@ declare namespace shaka.extern {
4570
4841
  type InitDataTransform = (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array ;
4571
4842
  }
4572
4843
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4844
+ declare namespace shaka.extern {
4845
+ type Interstitial = { endTime : number | null , startTime : number , values : shaka.extern.MetadataFrame [] } ;
4846
+ }
4847
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4573
4848
  declare namespace shaka.extern {
4574
4849
  type LanguageRole = { label : string | null , language : string , role : string } ;
4575
4850
  }
@@ -4579,11 +4854,15 @@ declare namespace shaka.extern {
4579
4854
  }
4580
4855
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4581
4856
  declare namespace shaka.extern {
4582
- type ManifestConfiguration = { availabilityWindowOverride : number , dash : shaka.extern.DashManifestConfiguration , defaultPresentationDelay : number , disableAudio : boolean , disableText : boolean , disableThumbnails : boolean , disableVideo : boolean , hls : shaka.extern.HlsManifestConfiguration , mss : shaka.extern.MssManifestConfiguration , raiseFatalErrorOnManifestUpdateRequestFailure : boolean , retryParameters : shaka.extern.RetryParameters , segmentRelativeVttTiming : boolean } ;
4857
+ type LiveSyncConfiguration = { dynamicTargetLatency : shaka.extern.DynamicTargetLatencyConfiguration , enabled : boolean , maxPlaybackRate : number , minPlaybackRate : number , panicMode : boolean , panicThreshold : number , targetLatency : number , targetLatencyTolerance : number } ;
4858
+ }
4859
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4860
+ declare namespace shaka.extern {
4861
+ type ManifestConfiguration = { availabilityWindowOverride : number , continueLoadingWhenPaused : boolean , dash : shaka.extern.DashManifestConfiguration , defaultPresentationDelay : number , disableAudio : boolean , disableText : boolean , disableThumbnails : boolean , disableVideo : boolean , hls : shaka.extern.HlsManifestConfiguration , mss : shaka.extern.MssManifestConfiguration , raiseFatalErrorOnManifestUpdateRequestFailure : boolean , retryParameters : shaka.extern.RetryParameters , segmentRelativeVttTiming : boolean } ;
4583
4862
  }
4584
4863
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4585
4864
  declare namespace shaka.extern {
4586
- 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 } ;
4865
+ type MediaQualityInfo = { audioSamplingRate : number | null , bandwidth : number , channelsCount : number | null , codecs : string , contentType : string , frameRate : number | null , height : number | null , label : string | null , language : string | null , mimeType : string | null , pixelAspectRatio : string | null , roles : string [] | null , width : number | null } ;
4587
4866
  }
4588
4867
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4589
4868
  declare namespace shaka.extern {
@@ -4631,11 +4910,11 @@ declare namespace shaka.extern {
4631
4910
  }
4632
4911
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4633
4912
  declare namespace shaka.extern {
4634
- type Stats = { bufferingTime : number , bytesDownloaded : number , completionPercent : number , corruptedFrames : number , decodedFrames : number , drmTimeSeconds : number , droppedFrames : number , estimatedBandwidth : number , gapsJumped : number , height : number , licenseTime : number , liveLatency : number , loadLatency : number , manifestTimeSeconds : number , maxSegmentDuration : number , pauseTime : number , playTime : number , stallsDetected : number , stateHistory : shaka.extern.StateChange [] , streamBandwidth : number , switchHistory : shaka.extern.TrackChoice [] , width : number } ;
4913
+ type Stats = { bufferingTime : number , bytesDownloaded : number , completionPercent : number , corruptedFrames : number , decodedFrames : number , drmTimeSeconds : number , droppedFrames : number , estimatedBandwidth : number , gapsJumped : number , height : number , licenseTime : number , liveLatency : number , loadLatency : number , manifestGapCount : number , manifestPeriodCount : number , manifestSizeBytes : number , manifestTimeSeconds : number , maxSegmentDuration : number , nonFatalErrorCount : number , pauseTime : number , playTime : number , stallsDetected : number , stateHistory : shaka.extern.StateChange [] , streamBandwidth : number , switchHistory : shaka.extern.TrackChoice [] , width : number } ;
4635
4914
  }
4636
4915
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4637
4916
  declare namespace shaka.extern {
4638
- type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , clearDecodingCache : boolean , disableAudioPrefetch : boolean , disableTextPrefetch : boolean , disableVideoPrefetch : boolean , dispatchAllEmsgBoxes : boolean , durationBackoff : number , evictionGoal : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTP : boolean , forceHTTPS : boolean , gapDetectionThreshold : number , gapJumpTimerTime : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , infiniteLiveStreamDuration : boolean , liveSync : boolean , liveSyncMaxLatency : number , liveSyncMinLatency : number , liveSyncMinPlaybackRate : number , liveSyncPanicMode : boolean , liveSyncPanicThreshold : number , liveSyncPlaybackRate : number , liveSyncTargetLatencyTolerance : number , loadTimeout : number , lowLatencyMode : boolean , maxDisabledTime : number , minTimeBetweenRecoveries : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , prefetchAudioLanguages : string [] , preloadNextUrlWindow : number , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , segmentPrefetchLimit : number , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsForFairPlay : boolean , useNativeHlsOnSafari : boolean , vodDynamicPlaybackRate : boolean , vodDynamicPlaybackRateBufferRatio : number , vodDynamicPlaybackRateLowBufferRate : number } ;
4917
+ type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , clearDecodingCache : boolean , disableAudioPrefetch : boolean , disableTextPrefetch : boolean , disableVideoPrefetch : boolean , dispatchAllEmsgBoxes : boolean , dontChooseCodecs : boolean , durationBackoff : number , evictionGoal : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTP : boolean , forceHTTPS : boolean , gapDetectionThreshold : number , gapJumpTimerTime : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , infiniteLiveStreamDuration : boolean , liveSync : shaka.extern.LiveSyncConfiguration , loadTimeout : number , lowLatencyMode : boolean , maxDisabledTime : number , minTimeBetweenRecoveries : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , prefetchAudioLanguages : string [] , preloadNextUrlWindow : number , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , segmentPrefetchLimit : number , shouldFixTimestampOffset : boolean , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsForFairPlay : boolean , vodDynamicPlaybackRate : boolean , vodDynamicPlaybackRateBufferRatio : number , vodDynamicPlaybackRateLowBufferRate : number } ;
4639
4918
  }
4640
4919
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4641
4920
  declare namespace shaka.extern {