shaka-player 4.2.5 → 4.3.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.
- package/.github/workflows/build-and-test.yaml +7 -0
- package/.github/workflows/sync-labels.yaml +1 -1
- package/.github/workflows/update-issues.yaml +1 -1
- package/AUTHORS +4 -0
- package/CHANGELOG.md +114 -74
- package/CONTRIBUTORS +4 -0
- package/README.md +14 -0
- package/conditional/dummy_cast_proxy.js +120 -0
- package/demo/common/assets.js +58 -0
- package/demo/common/message_ids.js +22 -1
- package/demo/config.js +89 -5
- package/demo/demo.less +7 -1
- package/demo/index.html +8 -1
- package/demo/locales/en.json +21 -1
- package/demo/locales/source.json +82 -2
- package/demo/main.js +57 -1
- package/demo/search.js +2 -0
- package/demo/visualizer.js +337 -0
- package/demo/visualizer_button.js +103 -0
- package/dist/controls.css +1 -1
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +107 -88
- package/dist/demo.compiled.debug.map +4 -4
- package/dist/demo.compiled.js +107 -88
- package/dist/demo.compiled.map +4 -4
- package/dist/demo.css +1 -1
- package/dist/demo.css.map +1 -1
- package/dist/deps.js +21 -13
- package/dist/locales.js +31 -31
- package/dist/receiver.compiled.debug.js +75 -77
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +75 -77
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.d.ts +181 -27
- package/dist/shaka-player.compiled.debug.d.ts +181 -27
- package/dist/shaka-player.compiled.debug.externs.js +169 -31
- package/dist/shaka-player.compiled.debug.js +510 -450
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +169 -31
- package/dist/shaka-player.compiled.js +912 -874
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +181 -27
- package/dist/shaka-player.ui.debug.d.ts +181 -27
- package/dist/shaka-player.ui.debug.externs.js +169 -31
- package/dist/shaka-player.ui.debug.js +533 -471
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +169 -31
- package/dist/shaka-player.ui.js +1073 -1036
- package/dist/shaka-player.ui.map +4 -4
- package/docs/design/lcevc-architecture.png +0 -0
- package/docs/design/lcevc-demo.png +0 -0
- package/docs/design/lcevc-integration.md +72 -0
- package/docs/tutorials/fairplay.md +7 -0
- package/docs/tutorials/faq.md +1 -1
- package/docs/tutorials/ui.md +7 -7
- package/docs/tutorials/upgrade.md +6 -0
- package/externs/ima.js +13 -1
- package/externs/lcevc.js +81 -0
- package/externs/mux.js +1 -42
- package/externs/shaka/ads.js +11 -1
- package/externs/shaka/manifest_parser.js +5 -1
- package/externs/shaka/mp4_parser.js +3 -0
- package/externs/shaka/player.js +178 -15
- package/lib/abr/simple_abr_manager.js +7 -0
- package/lib/ads/ad_manager.js +0 -8
- package/lib/ads/client_side_ad.js +15 -0
- package/lib/ads/client_side_ad_manager.js +21 -8
- package/lib/ads/server_side_ad.js +15 -0
- package/lib/ads/server_side_ad_manager.js +3 -3
- package/lib/cast/cast_utils.js +2 -0
- package/lib/cea/dummy_cea_parser.js +28 -0
- package/lib/cea/i_cea_parser.js +14 -2
- package/lib/cea/mp4_cea_parser.js +108 -5
- package/lib/config/auto_show_text.js +33 -0
- package/lib/dash/dash_parser.js +1 -1
- package/lib/hls/hls_parser.js +808 -384
- package/lib/lcevc/lcevc_dil.js +152 -0
- package/lib/media/closed_caption_parser.js +9 -6
- package/lib/media/drm_engine.js +14 -6
- package/lib/media/media_source_capabilities.js +36 -0
- package/lib/media/media_source_engine.js +113 -28
- package/lib/media/presentation_timeline.js +26 -11
- package/lib/media/segment_reference.js +49 -1
- package/lib/media/streaming_engine.js +142 -12
- package/lib/media/transmuxer.js +78 -21
- package/lib/offline/storage.js +1 -0
- package/lib/player.js +456 -77
- package/lib/polyfill/media_capabilities.js +9 -5
- package/lib/polyfill/patchedmediakeys_apple.js +63 -4
- package/lib/text/vtt_text_parser.js +35 -1
- package/lib/util/dom_utils.js +0 -1
- package/lib/util/error.js +17 -0
- package/lib/util/fake_event.js +2 -0
- package/lib/util/id3_utils.js +300 -0
- package/lib/util/mime_utils.js +3 -6
- package/lib/util/mp4_box_parsers.js +39 -5
- package/lib/util/mp4_parser.js +35 -0
- package/lib/util/player_configuration.js +23 -1
- package/lib/util/stream_utils.js +5 -3
- package/lib/util/ts_parser.js +499 -0
- package/maintained-branches.md +2 -2
- package/package.json +7 -4
- package/roadmap.md +5 -3
- package/test/ads/ad_manager_unit.js +182 -29
- package/test/cast/cast_utils_unit.js +3 -1
- package/test/dash/dash_parser_content_protection_unit.js +1 -0
- package/test/dash/dash_parser_live_unit.js +1 -0
- package/test/dash/dash_parser_manifest_unit.js +93 -1
- package/test/dash/dash_parser_segment_base_unit.js +1 -0
- package/test/dash/dash_parser_segment_list_unit.js +1 -0
- package/test/dash/dash_parser_segment_template_unit.js +1 -0
- package/test/demo/demo_unit.js +2 -1
- package/test/hls/hls_live_unit.js +253 -19
- package/test/hls/hls_parser_unit.js +631 -12
- package/test/media/closed_caption_parser_unit.js +2 -1
- package/test/media/drm_engine_integration.js +3 -1
- package/test/media/media_source_engine_integration.js +71 -6
- package/test/media/media_source_engine_unit.js +10 -5
- package/test/media/streaming_engine_integration.js +4 -1
- package/test/media/streaming_engine_unit.js +144 -1
- package/test/media/transmuxer_integration.js +21 -10
- package/test/player_integration.js +224 -82
- package/test/player_unit.js +5 -2
- package/test/polyfill/media_capabilities_unit.js +21 -23
- package/test/polyfill/patchedmediakeys_apple_unit.js +130 -0
- package/test/test/assets/id3-metadata.aac +0 -0
- package/test/test/assets/id3-metadata.ts +0 -0
- package/test/test/assets/thumbnails-sprites.vtt +10 -0
- package/test/test/assets/thumbnails.vtt +10 -0
- package/test/test/util/dash_parser_util.js +2 -0
- package/test/test/util/fake_ad.js +21 -0
- package/test/test/util/fake_media_source_engine.js +7 -0
- package/test/test/util/id3_generator.js +100 -0
- package/test/test/util/manifest_generator.js +3 -6
- package/test/test/util/simple_fakes.js +4 -0
- package/test/test/util/stream_generator.js +38 -0
- package/test/test/util/test_scheme.js +43 -14
- package/test/text/vtt_text_parser_unit.js +11 -0
- package/test/util/id3_utils_unit.js +116 -0
- package/test/util/ts_parser_unit.js +77 -0
- package/third_party/closure-uri/uri.js +1 -1
- package/ui/less/containers.less +7 -0
- 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
|
|
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.debug.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.debug.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.debug.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.debug.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
|
|
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.
|
|
954
|
-
*
|
|
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.debug.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.debug.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.debug.externs.js
|
|
1178
1232
|
declare namespace shaka.net {
|
|
1179
1233
|
class DataUriPlugin {
|
|
1180
1234
|
private noStructuralTyping_shaka_net_DataUriPlugin : any;
|
|
@@ -1550,8 +1604,13 @@ declare namespace shaka.polyfill {
|
|
|
1550
1604
|
private noStructuralTyping_shaka_polyfill_PatchedMediaKeysApple : any;
|
|
1551
1605
|
/**
|
|
1552
1606
|
* Installs the polyfill if needed.
|
|
1607
|
+
* @param enableUninstall enables uninstalling the polyfill
|
|
1553
1608
|
*/
|
|
1554
|
-
static install ( ) : any ;
|
|
1609
|
+
static install (enableUninstall ? : boolean ) : any ;
|
|
1610
|
+
/**
|
|
1611
|
+
* Uninstalls the polyfill if needed and enabled.
|
|
1612
|
+
*/
|
|
1613
|
+
static uninstall ( ) : any ;
|
|
1555
1614
|
}
|
|
1556
1615
|
}
|
|
1557
1616
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
|
|
@@ -2677,6 +2736,8 @@ declare namespace shaka.util.Error {
|
|
|
2677
2736
|
BUFFER_READ_OUT_OF_BOUNDS = 3000.0 ,
|
|
2678
2737
|
CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM = 4033.0 ,
|
|
2679
2738
|
CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS = 2012.0 ,
|
|
2739
|
+
CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM = 4045.0 ,
|
|
2740
|
+
CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_SRC_EQUALS = 2016.0 ,
|
|
2680
2741
|
CANNOT_STORE_LIVE_OFFLINE = 9005.0 ,
|
|
2681
2742
|
CAST_API_UNAVAILABLE = 8000.0 ,
|
|
2682
2743
|
CAST_CANCELED_BY_USER = 8004.0 ,
|
|
@@ -2789,6 +2850,7 @@ declare namespace shaka.util.Error {
|
|
|
2789
2850
|
UNABLE_TO_GUESS_MANIFEST_TYPE = 4000.0 ,
|
|
2790
2851
|
UNEXPECTED_CAST_ERROR = 8003.0 ,
|
|
2791
2852
|
UNEXPECTED_TEST_REQUEST = 1009.0 ,
|
|
2853
|
+
UNSUPPORTED_EXTERNAL_THUMBNAILS_URI = 2017.0 ,
|
|
2792
2854
|
UNSUPPORTED_SCHEME = 1000.0 ,
|
|
2793
2855
|
VIDEO_ERROR = 3016.0 ,
|
|
2794
2856
|
WEBM_CUES_ELEMENT_MISSING = 3007.0 ,
|
|
@@ -2980,6 +3042,17 @@ declare namespace shaka.util {
|
|
|
2980
3042
|
}
|
|
2981
3043
|
}
|
|
2982
3044
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
|
|
3045
|
+
declare namespace shaka.util {
|
|
3046
|
+
class Id3Utils {
|
|
3047
|
+
private noStructuralTyping_shaka_util_Id3Utils : any;
|
|
3048
|
+
/**
|
|
3049
|
+
* Returns an array of ID3 frames found in all the ID3 tags in the id3Data
|
|
3050
|
+
* @param id3Data - The ID3 data containing one or more ID3 tags
|
|
3051
|
+
*/
|
|
3052
|
+
static getID3Frames (id3Data : Uint8Array | null ) : shaka.extern.MetadataFrame [] ;
|
|
3053
|
+
}
|
|
3054
|
+
}
|
|
3055
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
|
|
2983
3056
|
declare namespace shaka.util {
|
|
2984
3057
|
class LanguageUtils {
|
|
2985
3058
|
private noStructuralTyping_shaka_util_LanguageUtils : any;
|
|
@@ -3162,6 +3235,13 @@ declare namespace shaka.util {
|
|
|
3162
3235
|
* @param type The type of the box, a uint32.
|
|
3163
3236
|
*/
|
|
3164
3237
|
static typeToString (type : number ) : string ;
|
|
3238
|
+
/**
|
|
3239
|
+
* A callback that tells the Mp4 parser to treat the body of a box as a visual
|
|
3240
|
+
* sample entry. A visual sample entry has some fixed-sized fields
|
|
3241
|
+
* describing the video codec parameters, followed by an arbitrary number of
|
|
3242
|
+
* appended children. Each child is a box.
|
|
3243
|
+
*/
|
|
3244
|
+
static visualSampleEntry (box : shaka.extern.ParsedBox ) : any ;
|
|
3165
3245
|
}
|
|
3166
3246
|
}
|
|
3167
3247
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
|
|
@@ -3244,6 +3324,12 @@ declare namespace shaka.util {
|
|
|
3244
3324
|
}
|
|
3245
3325
|
}
|
|
3246
3326
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
|
|
3327
|
+
declare namespace shaka.util {
|
|
3328
|
+
class TsParser {
|
|
3329
|
+
private noStructuralTyping_shaka_util_TsParser : any;
|
|
3330
|
+
}
|
|
3331
|
+
}
|
|
3332
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
|
|
3247
3333
|
declare namespace shaka.util {
|
|
3248
3334
|
class Uint8ArrayUtils {
|
|
3249
3335
|
private noStructuralTyping_shaka_util_Uint8ArrayUtils : any;
|
|
@@ -3598,6 +3684,60 @@ declare namespace ಠ_ಠ.clutz {
|
|
|
3598
3684
|
keys : ( JWK | null ) [] | null ;
|
|
3599
3685
|
}
|
|
3600
3686
|
}
|
|
3687
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
|
|
3688
|
+
declare namespace LcevcDil {
|
|
3689
|
+
/**
|
|
3690
|
+
* LCEVC DIL constructor
|
|
3691
|
+
*/
|
|
3692
|
+
class LcevcDIL {
|
|
3693
|
+
private noStructuralTyping_LcevcDil_LcevcDIL : any;
|
|
3694
|
+
constructor (media : HTMLVideoElement | null , canvas : HTMLCanvasElement | null , dilConfig : shaka.extern.LcevcConfiguration ) ;
|
|
3695
|
+
/**
|
|
3696
|
+
* Append the video buffers before they are appended to
|
|
3697
|
+
* Media Source Extensions SourceBuffer. Here the lcevc data
|
|
3698
|
+
* will be parsed and managed to enhance frames based on timestamps.
|
|
3699
|
+
* @param data Video Buffer Data.
|
|
3700
|
+
* @param type Type of Video Buffer Data.
|
|
3701
|
+
* @param variantId Variant that the fragment belongs to.
|
|
3702
|
+
*/
|
|
3703
|
+
appendBuffer (data : ArrayBuffer | ArrayBufferView , type : string , variantId : number ) : any ;
|
|
3704
|
+
/**
|
|
3705
|
+
* Close LCEVC DIL
|
|
3706
|
+
*/
|
|
3707
|
+
close ( ) : any ;
|
|
3708
|
+
/**
|
|
3709
|
+
* Set container Format for LCEVC Data Parsing.
|
|
3710
|
+
* @param containerFormat container type of the stream.
|
|
3711
|
+
*/
|
|
3712
|
+
setContainerFormat (containerFormat : number ) : any ;
|
|
3713
|
+
/**
|
|
3714
|
+
* Set current variant as variantId to the LCEVC decoder
|
|
3715
|
+
* @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.
|
|
3716
|
+
*/
|
|
3717
|
+
setLevelSwitching (variantId : number , autoBufferSwitch : boolean ) : any ;
|
|
3718
|
+
}
|
|
3719
|
+
}
|
|
3720
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
|
|
3721
|
+
declare namespace LcevcDil.SupportObject {
|
|
3722
|
+
/**
|
|
3723
|
+
* LCEVC Support CheckList Error if any.
|
|
3724
|
+
*/
|
|
3725
|
+
let SupportError : string ;
|
|
3726
|
+
}
|
|
3727
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
|
|
3728
|
+
declare namespace LcevcDil.SupportObject {
|
|
3729
|
+
/**
|
|
3730
|
+
* LCEVC Support Checklist Result
|
|
3731
|
+
*/
|
|
3732
|
+
let SupportStatus : boolean ;
|
|
3733
|
+
}
|
|
3734
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/lcevc.js
|
|
3735
|
+
declare namespace LcevcDil.SupportObject {
|
|
3736
|
+
/**
|
|
3737
|
+
* Check if canvas has WebGL support
|
|
3738
|
+
*/
|
|
3739
|
+
function webGLSupport (canvas : HTMLCanvasElement | null ) : boolean ;
|
|
3740
|
+
}
|
|
3601
3741
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/mdl.js
|
|
3602
3742
|
declare namespace ಠ_ಠ.clutz {
|
|
3603
3743
|
class MaterialLayout {
|
|
@@ -3661,14 +3801,6 @@ declare namespace muxjs.mp4 {
|
|
|
3661
3801
|
type ClosedCaption = { endPts : number , endTime : number , startPts : number , startTime : number , stream : string , text : string } ;
|
|
3662
3802
|
}
|
|
3663
3803
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
|
|
3664
|
-
declare namespace muxjs.mp4 {
|
|
3665
|
-
type Metadata = { cueTime : number , data : Uint8Array , dispatchType : string , dts : number , frames : muxjs.mp4.MetadataFrame [] , pts : number } ;
|
|
3666
|
-
}
|
|
3667
|
-
// Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
|
|
3668
|
-
declare namespace muxjs.mp4 {
|
|
3669
|
-
type MetadataFrame = { data : string , description : string , id : string , key : string , value : string } ;
|
|
3670
|
-
}
|
|
3671
|
-
// Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
|
|
3672
3804
|
declare namespace muxjs.mp4 {
|
|
3673
3805
|
type ParsedClosedCaptions = { captionStreams : { [ key: string ]: boolean } | null , captions : muxjs.mp4.ClosedCaption [] } ;
|
|
3674
3806
|
}
|
|
@@ -3704,7 +3836,7 @@ declare namespace muxjs.mp4 {
|
|
|
3704
3836
|
}
|
|
3705
3837
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
|
|
3706
3838
|
declare namespace muxjs.mp4.Transmuxer {
|
|
3707
|
-
type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array
|
|
3839
|
+
type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array } ;
|
|
3708
3840
|
}
|
|
3709
3841
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/polyfill.js
|
|
3710
3842
|
declare namespace window {
|
|
@@ -3871,6 +4003,7 @@ declare namespace shaka.extern {
|
|
|
3871
4003
|
*/
|
|
3872
4004
|
interface IAd extends shaka.util.IReleasable {
|
|
3873
4005
|
canSkipNow ( ) : boolean ;
|
|
4006
|
+
getDescription ( ) : string ;
|
|
3874
4007
|
getDuration ( ) : number ;
|
|
3875
4008
|
/**
|
|
3876
4009
|
* Gets the minimum suggested duration. Defaults to being equivalent to
|
|
@@ -3881,6 +4014,7 @@ declare namespace shaka.extern {
|
|
|
3881
4014
|
getRemainingTime ( ) : number ;
|
|
3882
4015
|
getSequenceLength ( ) : number ;
|
|
3883
4016
|
getTimeUntilSkippable ( ) : number ;
|
|
4017
|
+
getTitle ( ) : string ;
|
|
3884
4018
|
getVolume ( ) : number ;
|
|
3885
4019
|
isLinear ( ) : boolean ;
|
|
3886
4020
|
isMuted ( ) : boolean ;
|
|
@@ -3910,7 +4044,7 @@ declare namespace shaka.extern {
|
|
|
3910
4044
|
initClientSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
|
|
3911
4045
|
initServerSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
|
|
3912
4046
|
onAssetUnload ( ) : any ;
|
|
3913
|
-
onCueMetadataChange (value : shaka.extern.
|
|
4047
|
+
onCueMetadataChange (value : shaka.extern.MetadataFrame ) : any ;
|
|
3914
4048
|
onDashTimedMetadata (region : shaka.extern.TimelineRegionInfo ) : any ;
|
|
3915
4049
|
onHlsTimedMetadata (metadata : shaka.extern.ID3Metadata , timestampOffset : number ) : any ;
|
|
3916
4050
|
release ( ) : any ;
|
|
@@ -4054,11 +4188,11 @@ declare namespace shaka.extern.ManifestParser {
|
|
|
4054
4188
|
}
|
|
4055
4189
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
|
|
4056
4190
|
declare namespace shaka.extern.ManifestParser {
|
|
4057
|
-
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 } ;
|
|
4191
|
+
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 } ;
|
|
4058
4192
|
}
|
|
4059
4193
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/mp4_parser.js
|
|
4060
4194
|
declare namespace shaka.extern {
|
|
4061
|
-
type ParsedBox = { flags : number | null , has64BitSize : boolean , parser : shaka.util.Mp4Parser , partialOkay : boolean , reader : shaka.util.DataViewReader , size : number , start : number , version : number | null } ;
|
|
4195
|
+
type ParsedBox = { flags : number | null , has64BitSize : boolean , name : string , parser : shaka.util.Mp4Parser , partialOkay : boolean , reader : shaka.util.DataViewReader , size : number , start : number , version : number | null } ;
|
|
4062
4196
|
}
|
|
4063
4197
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
|
|
4064
4198
|
declare namespace shaka.extern {
|
|
@@ -4319,7 +4453,7 @@ declare namespace shaka.extern {
|
|
|
4319
4453
|
}
|
|
4320
4454
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4321
4455
|
declare namespace shaka.extern {
|
|
4322
|
-
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 } ;
|
|
4456
|
+
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 } ;
|
|
4323
4457
|
}
|
|
4324
4458
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4325
4459
|
declare namespace shaka.extern {
|
|
@@ -4347,7 +4481,7 @@ declare namespace shaka.extern {
|
|
|
4347
4481
|
}
|
|
4348
4482
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4349
4483
|
declare namespace shaka.extern {
|
|
4350
|
-
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 } ;
|
|
4484
|
+
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 } ;
|
|
4351
4485
|
}
|
|
4352
4486
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4353
4487
|
declare namespace shaka.extern {
|
|
@@ -4363,17 +4497,21 @@ declare namespace shaka.extern {
|
|
|
4363
4497
|
}
|
|
4364
4498
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4365
4499
|
declare namespace shaka.extern {
|
|
4366
|
-
type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , mediaPlaylistFullMimeType : string } ;
|
|
4500
|
+
type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , useSafariBehaviorForLive : boolean } ;
|
|
4367
4501
|
}
|
|
4368
4502
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4369
4503
|
declare namespace shaka.extern {
|
|
4370
|
-
type ID3Metadata = {
|
|
4504
|
+
type ID3Metadata = { cueTime : number | null , data : Uint8Array , dts : number | null , frames : shaka.extern.MetadataFrame [] , pts : number | null } ;
|
|
4371
4505
|
}
|
|
4372
4506
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4373
4507
|
declare namespace shaka.extern {
|
|
4374
4508
|
type LanguageRole = { label : string | null , language : string , role : string } ;
|
|
4375
4509
|
}
|
|
4376
4510
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4511
|
+
declare namespace shaka.extern {
|
|
4512
|
+
type LcevcConfiguration = { drawLogo : boolean , dynamicPerformanceScaling : boolean , enabled : boolean , logLevel : number } ;
|
|
4513
|
+
}
|
|
4514
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4377
4515
|
declare namespace shaka.extern {
|
|
4378
4516
|
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 } ;
|
|
4379
4517
|
}
|
|
@@ -4382,12 +4520,28 @@ declare namespace shaka.extern {
|
|
|
4382
4520
|
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 } ;
|
|
4383
4521
|
}
|
|
4384
4522
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4523
|
+
declare namespace shaka.extern {
|
|
4524
|
+
type MediaSourceConfiguration = { sourceBufferExtraFeatures : string } ;
|
|
4525
|
+
}
|
|
4526
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4527
|
+
declare namespace shaka.extern {
|
|
4528
|
+
type MetadataFrame = { data : ArrayBuffer | null | string , description : string , key : string } ;
|
|
4529
|
+
}
|
|
4530
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4531
|
+
declare namespace shaka.extern {
|
|
4532
|
+
type MetadataRawFrame = { data : Uint8Array | null , size : number , type : string } ;
|
|
4533
|
+
}
|
|
4534
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4385
4535
|
declare namespace shaka.extern {
|
|
4386
4536
|
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 } ;
|
|
4387
4537
|
}
|
|
4388
4538
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4389
4539
|
declare namespace shaka.extern {
|
|
4390
|
-
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 } ;
|
|
4540
|
+
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 } ;
|
|
4541
|
+
}
|
|
4542
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4543
|
+
declare namespace shaka.extern {
|
|
4544
|
+
type ProducerReferenceTime = { programStartDate : Date | null , wallClockTime : number } ;
|
|
4391
4545
|
}
|
|
4392
4546
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4393
4547
|
declare namespace shaka.extern {
|
|
@@ -4403,7 +4557,7 @@ declare namespace shaka.extern {
|
|
|
4403
4557
|
}
|
|
4404
4558
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4405
4559
|
declare namespace shaka.extern {
|
|
4406
|
-
type StreamingConfiguration = { alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , dispatchAllEmsgBoxes : boolean , durationBackoff : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTPS : boolean ,
|
|
4560
|
+
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 } ;
|
|
4407
4561
|
}
|
|
4408
4562
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4409
4563
|
declare namespace shaka.extern {
|
|
@@ -4411,7 +4565,7 @@ declare namespace shaka.extern {
|
|
|
4411
4565
|
}
|
|
4412
4566
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4413
4567
|
declare namespace shaka.extern {
|
|
4414
|
-
type Thumbnail = { duration : number , height : number , imageHeight : number , imageWidth : number , positionX : number , positionY : number , startTime : number , uris : string [] , width : number } ;
|
|
4568
|
+
type Thumbnail = { duration : number , height : number , imageHeight : number , imageWidth : number , positionX : number , positionY : number , sprite : boolean , startTime : number , uris : string [] , width : number } ;
|
|
4415
4569
|
}
|
|
4416
4570
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4417
4571
|
declare namespace shaka.extern {
|