shaka-player 4.4.3 → 4.5.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 (198) hide show
  1. package/.github/workflows/release-please.yaml +2 -27
  2. package/CHANGELOG.md +64 -45
  3. package/README.md +16 -10
  4. package/demo/asset_card.js +18 -21
  5. package/demo/cast_receiver/index.html +0 -1
  6. package/demo/close_button.js +0 -3
  7. package/demo/common/asset.js +22 -5
  8. package/demo/common/assets.js +132 -49
  9. package/demo/config.js +192 -253
  10. package/demo/custom.js +39 -98
  11. package/demo/front.js +7 -10
  12. package/demo/index.html +19 -22
  13. package/demo/input.js +6 -11
  14. package/demo/input_container.js +8 -9
  15. package/demo/main.js +51 -123
  16. package/demo/search.js +22 -34
  17. package/demo/service_worker.js +0 -3
  18. package/demo/tooltip.js +3 -5
  19. package/demo/visualizer.js +3 -5
  20. package/demo/visualizer_button.js +1 -20
  21. package/dist/demo.compiled.debug.js +152 -178
  22. package/dist/demo.compiled.debug.map +4 -4
  23. package/dist/demo.compiled.js +152 -178
  24. package/dist/demo.compiled.map +4 -4
  25. package/dist/deps.js +27 -24
  26. package/dist/locales.js +31 -31
  27. package/dist/receiver.compiled.debug.js +22 -43
  28. package/dist/receiver.compiled.debug.map +4 -4
  29. package/dist/receiver.compiled.js +22 -43
  30. package/dist/receiver.compiled.map +4 -4
  31. package/dist/shaka-player.compiled.d.ts +507 -365
  32. package/dist/shaka-player.compiled.debug.d.ts +507 -365
  33. package/dist/shaka-player.compiled.debug.externs.js +205 -51
  34. package/dist/shaka-player.compiled.debug.js +541 -450
  35. package/dist/shaka-player.compiled.debug.map +4 -4
  36. package/dist/shaka-player.compiled.externs.js +205 -51
  37. package/dist/shaka-player.compiled.js +1120 -1066
  38. package/dist/shaka-player.compiled.map +4 -4
  39. package/dist/shaka-player.ui.d.ts +562 -410
  40. package/dist/shaka-player.ui.debug.d.ts +562 -410
  41. package/dist/shaka-player.ui.debug.externs.js +226 -51
  42. package/dist/shaka-player.ui.debug.js +606 -506
  43. package/dist/shaka-player.ui.debug.map +4 -4
  44. package/dist/shaka-player.ui.externs.js +226 -51
  45. package/dist/shaka-player.ui.js +1266 -1207
  46. package/dist/shaka-player.ui.map +4 -4
  47. package/docs/design/lcevc-integration.md +14 -14
  48. package/docs/tutorials/faq.md +27 -55
  49. package/docs/tutorials/index.json +2 -1
  50. package/docs/tutorials/lcevc.md +118 -0
  51. package/docs/tutorials/ui-customization.md +4 -0
  52. package/externs/css_style_declaration.js +19 -0
  53. package/externs/lcevc.js +37 -13
  54. package/externs/media_remote.js +68 -0
  55. package/externs/mediatailor.js +193 -0
  56. package/externs/pictureinpicture.js +11 -0
  57. package/externs/shaka/ads.js +27 -0
  58. package/externs/shaka/manifest.js +10 -5
  59. package/externs/shaka/manifest_parser.js +7 -1
  60. package/externs/shaka/offline.js +4 -0
  61. package/externs/shaka/player.js +12 -1
  62. package/karma.conf.js +7 -3
  63. package/lib/abr/simple_abr_manager.js +43 -3
  64. package/lib/ads/ad_manager.js +104 -50
  65. package/lib/ads/media_tailor_ad.js +297 -0
  66. package/lib/ads/media_tailor_ad_manager.js +828 -0
  67. package/lib/cea/ts_cea_parser.js +15 -2
  68. package/lib/config/codec_switching_strategy.js +24 -0
  69. package/lib/dash/content_protection.js +120 -2
  70. package/lib/dash/dash_parser.js +75 -12
  71. package/lib/dash/mpd_utils.js +10 -6
  72. package/lib/dash/segment_base.js +13 -5
  73. package/lib/dash/segment_list.js +13 -5
  74. package/lib/dash/segment_template.js +43 -85
  75. package/lib/dependencies/all.js +8 -7
  76. package/lib/hls/hls_parser.js +44 -16
  77. package/lib/lcevc/lcevc_dec.js +220 -0
  78. package/lib/media/adaptation_set.js +22 -11
  79. package/lib/media/adaptation_set_criteria.js +25 -7
  80. package/lib/media/media_source_engine.js +215 -27
  81. package/lib/media/segment_index.js +1 -1
  82. package/lib/media/segment_reference.js +7 -7
  83. package/lib/media/streaming_engine.js +33 -18
  84. package/lib/mss/mss_parser.js +1 -0
  85. package/lib/net/networking_engine.js +1 -0
  86. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  87. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  88. package/lib/offline/manifest_converter.js +1 -0
  89. package/lib/offline/storage.js +3 -0
  90. package/lib/player.js +142 -72
  91. package/lib/routing/payload.js +5 -1
  92. package/lib/text/cue.js +15 -0
  93. package/lib/text/ttml_text_parser.js +17 -0
  94. package/lib/text/ui_text_displayer.js +4 -0
  95. package/lib/text/vtt_text_parser.js +33 -20
  96. package/lib/transmuxer/h265.js +862 -0
  97. package/lib/transmuxer/mpeg_ts_transmuxer.js +3 -2
  98. package/lib/transmuxer/ts_transmuxer.js +160 -15
  99. package/lib/util/error.js +28 -9
  100. package/lib/util/exp_golomb.js +30 -2
  101. package/lib/util/fake_event.js +3 -0
  102. package/lib/util/mp4_generator.js +4 -4
  103. package/lib/util/periods.js +2 -0
  104. package/lib/util/platform.js +40 -0
  105. package/lib/util/player_configuration.js +8 -0
  106. package/lib/util/state_history.js +6 -2
  107. package/lib/util/stream_utils.js +133 -217
  108. package/lib/util/ts_parser.js +226 -40
  109. package/maintained-branches.md +3 -2
  110. package/package.json +4 -6
  111. package/roadmap.md +15 -5
  112. package/shaka-player.uncompiled.js +2 -1
  113. package/support.html +0 -1
  114. package/test/cast/cast_receiver_integration.js +47 -0
  115. package/test/codec_switching/codec_switching_integration.js +181 -0
  116. package/test/dash/dash_parser_content_protection_unit.js +2 -0
  117. package/test/dash/dash_parser_integration.js +73 -0
  118. package/test/dash/dash_parser_live_unit.js +2 -0
  119. package/test/dash/dash_parser_manifest_unit.js +42 -0
  120. package/test/dash/dash_parser_segment_base_unit.js +2 -0
  121. package/test/dash/dash_parser_segment_list_unit.js +2 -0
  122. package/test/dash/dash_parser_segment_template_unit.js +2 -0
  123. package/test/demo/demo_unit.js +0 -16
  124. package/test/hls/hls_live_unit.js +2 -0
  125. package/test/hls/hls_parser_unit.js +8 -6
  126. package/test/media/adaptation_set_criteria_unit.js +118 -0
  127. package/test/media/adaptation_set_unit.js +1 -0
  128. package/test/media/media_source_engine_unit.js +165 -1
  129. package/test/media/segment_index_unit.js +4 -4
  130. package/test/media/segment_prefetch_unit.js +1 -1
  131. package/test/media/streaming_engine_unit.js +17 -17
  132. package/test/mss/mss_parser_unit.js +2 -0
  133. package/test/offline/manifest_convert_unit.js +5 -0
  134. package/test/offline/storage_integration.js +1 -4
  135. package/test/player_unit.js +102 -131
  136. package/test/routing/walker_unit.js +1 -0
  137. package/test/test/assets/dash-aes-128/Fragments(video=0,format=mpd-time-csf) +0 -0
  138. package/test/test/assets/dash-aes-128/Fragments(video=20000000,format=mpd-time-csf) +0 -0
  139. package/test/test/assets/dash-aes-128/Fragments(video=40000000,format=mpd-time-csf) +0 -0
  140. package/test/test/assets/dash-aes-128/Fragments(video=60000000,format=mpd-time-csf) +0 -0
  141. package/test/test/assets/dash-aes-128/Fragments(video=i,format=mpd-time-csf) +0 -0
  142. package/test/test/assets/dash-aes-128/dash.mpd +18 -0
  143. package/test/test/assets/dash-aes-128/license +1 -0
  144. package/test/test/assets/dash-multi-codec/audio_en_2c_128k_aac.mp4 +0 -0
  145. package/test/test/assets/dash-multi-codec/audio_es_2c_64k_opus.webm +0 -0
  146. package/test/test/assets/dash-multi-codec/dash.mpd +32 -0
  147. package/test/test/assets/dash-multi-codec/video_144p_108k_h264.mp4 +0 -0
  148. package/test/test/assets/hls-ts-h265/0.ts +0 -0
  149. package/test/test/assets/hls-ts-h265/hevc.m3u8 +6 -0
  150. package/test/test/assets/hls-ts-h265/index.m3u8 +7 -0
  151. package/test/test/assets/hls-ts-muxed-aac-h265/0.ts +0 -0
  152. package/test/test/assets/hls-ts-muxed-aac-h265/1.ts +0 -0
  153. package/test/test/assets/hls-ts-muxed-aac-h265/media.m3u8 +9 -0
  154. package/test/test/assets/hls-ts-muxed-ac3-h264/media.m3u8 +24 -0
  155. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00000.ts +0 -0
  156. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00001.ts +0 -0
  157. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00002.ts +0 -0
  158. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00003.ts +0 -0
  159. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00004.ts +0 -0
  160. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00005.ts +0 -0
  161. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0000.ts +0 -0
  162. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0001.ts +0 -0
  163. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0002.ts +0 -0
  164. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0003.ts +0 -0
  165. package/test/test/assets/hls-ts-muxed-ec3-h264/prog_index.m3u8 +14 -0
  166. package/test/test/assets/hls-ts-muxed-mp3-h264/index.m3u8 +23 -0
  167. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-1-v1-a1.ts +0 -0
  168. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-2-v1-a1.ts +0 -0
  169. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-3-v1-a1.ts +0 -0
  170. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-4-v1-a1.ts +0 -0
  171. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-5-v1-a1.ts +0 -0
  172. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-6-v1-a1.ts +0 -0
  173. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-7-v1-a1.ts +0 -0
  174. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-8-v1-a1.ts +0 -0
  175. package/test/test/util/dash_parser_util.js +4 -0
  176. package/test/test/util/fake_ad_manager.js +20 -0
  177. package/test/test/util/fake_media_source_engine.js +8 -2
  178. package/test/test/util/manifest_generator.js +7 -3
  179. package/test/test/util/mss_parser_util.js +4 -0
  180. package/test/test/util/offline_utils.js +1 -0
  181. package/test/test/util/streaming_engine_util.js +7 -4
  182. package/test/text/ttml_text_parser_unit.js +52 -0
  183. package/test/text/vtt_text_parser_unit.js +103 -31
  184. package/test/transmuxer/transmuxer_integration.js +117 -0
  185. package/test/ui/ui_unit.js +3 -10
  186. package/test/util/stream_utils_unit.js +208 -74
  187. package/ui/controls.js +125 -0
  188. package/ui/externs/ui.js +8 -1
  189. package/ui/pip_button.js +22 -120
  190. package/ui/remote_button.js +201 -0
  191. package/ui/ui.js +5 -2
  192. package/demo/common/message_ids.js +0 -309
  193. package/demo/locales/en.json +0 -288
  194. package/demo/locales/source.json +0 -1146
  195. package/externs/mux.js +0 -69
  196. package/lib/lcevc/lcevc_dil.js +0 -152
  197. package/lib/transmuxer/muxjs_transmuxer.js +0 -242
  198. package/test/transmuxer/muxjs_transmuxer_integration.js +0 -177
@@ -60,6 +60,13 @@ shaka.util.IReleasable = class {
60
60
  */
61
61
  release() {}
62
62
  };
63
+ /**
64
+ * @enum {string}
65
+ */
66
+ shaka.config.CodecSwitchingStrategy = {
67
+ RELOAD: 'reload',
68
+ SMOOTH: 'smooth'
69
+ };
63
70
  /**
64
71
  * @summary A set of BufferSource utility functions.
65
72
  */
@@ -321,6 +328,11 @@ shaka.text.Cue.prototype.linePadding;
321
328
  * @type {number}
322
329
  */
323
330
  shaka.text.Cue.prototype.opacity;
331
+ /**
332
+ * Text combine upright as a CSS text-combine-upright value.
333
+ * @type {string}
334
+ */
335
+ shaka.text.Cue.prototype.textCombineUpright;
324
336
  /**
325
337
  * Text decoration. A combination of underline, overline
326
338
  * and line through. Empty array means no decoration.
@@ -373,6 +385,12 @@ shaka.text.Cue.prototype.isContainer;
373
385
  * @type {boolean}
374
386
  */
375
387
  shaka.text.Cue.prototype.lineBreak;
388
+ /**
389
+ * Used to indicate the type of ruby tag that should be used when rendering
390
+ * the cue. Valid values: ruby, rp, rt.
391
+ * @type {?string}
392
+ */
393
+ shaka.text.Cue.prototype.rubyTag;
376
394
  /**
377
395
  * The number of horizontal and vertical cells into which the Root Container
378
396
  * Region area is divided.
@@ -784,11 +802,13 @@ shaka.util.Error.Code = {
784
802
  'HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED': 4040,
785
803
  'HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED': 4041,
786
804
  'NO_WEB_CRYPTO_API': 4042,
787
- 'HLS_AES_128_INVALID_IV_LENGTH': 4043,
788
- 'HLS_AES_128_INVALID_KEY_LENGTH': 4044,
789
805
  'CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM': 4045,
790
806
  'MSS_INVALID_XML': 4046,
791
807
  'MSS_LIVE_CONTENT_NOT_SUPPORTED': 4047,
808
+ 'AES_128_INVALID_IV_LENGTH': 4048,
809
+ 'AES_128_INVALID_KEY_LENGTH': 4049,
810
+ 'DASH_CONFLICTING_AES_128': 4050,
811
+ 'DASH_UNSUPPORTED_AES_128': 4051,
792
812
  'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
793
813
  'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
794
814
  'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
@@ -839,7 +859,8 @@ shaka.util.Error.Code = {
839
859
  'CS_AD_MANAGER_NOT_INITIALIZED': 10001,
840
860
  'SS_IMA_SDK_MISSING': 10002,
841
861
  'SS_AD_MANAGER_NOT_INITIALIZED': 10003,
842
- 'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004
862
+ 'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004,
863
+ 'MT_AD_MANAGER_NOT_INITIALIZED': 10005
843
864
  };
844
865
  /**
845
866
  * @summary A set of utility functions for dealing with MIME types.
@@ -1461,7 +1482,8 @@ shaka.net.NetworkingEngine.RequestType = {
1461
1482
  'APP': 3,
1462
1483
  'TIMING': 4,
1463
1484
  'SERVER_CERTIFICATE': 5,
1464
- 'KEY': 6
1485
+ 'KEY': 6,
1486
+ 'ADS': 7
1465
1487
  };
1466
1488
  /**
1467
1489
  * A more advanced form of the RequestType structure, meant to describe
@@ -1893,7 +1915,7 @@ shaka.media.InitSegmentReference = class {
1893
1915
  * the quality of the media associated with this init segment.
1894
1916
  * @param {(null|number)=} timescale
1895
1917
  * @param {(null|BufferSource)=} segmentData
1896
- * @param {?shaka.extern.HlsAes128Key=} aes128Key
1918
+ * @param {?shaka.extern.aes128Key=} aes128Key
1897
1919
  * The segment's AES-128-CBC full segment encryption key and iv.
1898
1920
  */
1899
1921
  constructor(uris, startByte, endByte, mediaQuality, timescale, segmentData, aes128Key) {}
@@ -1969,10 +1991,10 @@ shaka.media.SegmentReference = class {
1969
1991
  * @param {shaka.media.SegmentReference.Status=} status
1970
1992
  * The segment status is used to indicate that a segment does not exist or is
1971
1993
  * not available.
1972
- * @param {?shaka.extern.HlsAes128Key=} hlsAes128Key
1994
+ * @param {?shaka.extern.aes128Key=} aes128Key
1973
1995
  * The segment's AES-128-CBC full segment encryption key and iv.
1974
1996
  */
1975
- constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status, hlsAes128Key) {}
1997
+ constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status, aes128Key) {}
1976
1998
  /**
1977
1999
  * Creates and returns the URIs of the resource containing the segment.
1978
2000
  * @return {!Array.<string>}
@@ -2128,8 +2150,9 @@ shaka.util.Id3Utils = class {
2128
2150
  shaka.util.ExpGolomb = class {
2129
2151
  /**
2130
2152
  * @param {!Uint8Array} data
2153
+ * @param {boolean=} convertEbsp2rbsp
2131
2154
  */
2132
- constructor(data) {}
2155
+ constructor(data, convertEbsp2rbsp) {}
2133
2156
  };
2134
2157
  /**
2135
2158
  * @see https://en.wikipedia.org/wiki/MPEG_transport_stream
@@ -2156,6 +2179,16 @@ shaka.util.TsParser = class {
2156
2179
  * @return {!Array.<shaka.extern.VideoNalu>}
2157
2180
  */
2158
2181
  parseAvcNalus(pes, nextPes) {}
2182
+ /**
2183
+ * Parse AVC and HVC Nalus
2184
+ * The code is based on hls.js
2185
+ * Credit to https://github.com/video-dev/hls.js/blob/master/src/demux/tsdemuxer.ts
2186
+ * @param {shaka.extern.MPEG_PES} pes
2187
+ * @param {?shaka.extern.MPEG_PES=} nextPes
2188
+ * @param {?shaka.extern.VideoNalu=} lastNalu
2189
+ * @return {!Array.<shaka.extern.VideoNalu>}
2190
+ */
2191
+ parseNalus(pes, nextPes, lastNalu) {}
2159
2192
  /**
2160
2193
  * Return the ID3 metadata
2161
2194
  * @return {!Array.<shaka.extern.ID3Metadata>}
@@ -2215,23 +2248,23 @@ shaka.util.TsParser = class {
2215
2248
  shaka.util.TsParser.Timescale;
2216
2249
  /**
2217
2250
  * @summary
2218
- * lcevcDil - (MPEG-5 Part 2 LCEVC - Decoder Integration Layer) provides
2251
+ * lcevcDec - (MPEG-5 Part 2 LCEVC - Decoder) provides
2219
2252
  * all the operations related to the enhancement and rendering
2220
2253
  * of LCEVC enabled streams and on to a canvas.
2221
2254
  * @implements {shaka.util.IReleasable}
2222
2255
  */
2223
- shaka.lcevc.Dil = class {
2256
+ shaka.lcevc.Dec = class {
2224
2257
  /**
2225
2258
  * @param {HTMLVideoElement} media The video element that will be attached to
2226
- * LCEVC Dil for input.
2259
+ * LCEVC Decoder for input.
2227
2260
  * @param {HTMLCanvasElement} canvas The canvas element that will be attached
2228
- * to LCEVC Dil to render the enhanced frames.
2229
- * @param {shaka.extern.LcevcConfiguration} dilConfig The LCEVC DIL
2230
- * config object to initialize the LCEVC DIL.
2261
+ * to LCEVC Decoder to render the enhanced frames.
2262
+ * @param {shaka.extern.LcevcConfiguration} lcevcConfig LCEVC configuration
2263
+ * object to initialize the LCEVC Decoder.
2231
2264
  */
2232
- constructor(media, canvas, dilConfig) {}
2265
+ constructor(media, canvas, lcevcConfig) {}
2233
2266
  /**
2234
- * Close LCEVC Dil.
2267
+ * Close LCEVC Decoder.
2235
2268
  * @override
2236
2269
  */
2237
2270
  release() {}
@@ -2955,9 +2988,10 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
2955
2988
  * <code>load</code> but cannot interrupt calls to <code>attach</code>,
2956
2989
  * <code>detach</code>, or <code>unload</code>.
2957
2990
  * @param {boolean=} initializeMediaSource
2991
+ * @param {boolean=} keepAdManager
2958
2992
  * @return {!Promise}
2959
2993
  */
2960
- unload(initializeMediaSource) {}
2994
+ unload(initializeMediaSource, keepAdManager) {}
2961
2995
  /**
2962
2996
  * Provides a way to update the stream start position during the media loading
2963
2997
  * process. Can for example be called from the <code>manifestparsed</code>
@@ -3560,6 +3594,138 @@ shaka.ads.ClientSideAd = class {
3560
3594
  */
3561
3595
  release() {}
3562
3596
  };
3597
+ /**
3598
+ * @implements {shaka.extern.IAd}
3599
+ */
3600
+ shaka.ads.MediaTailorAd = class {
3601
+ /**
3602
+ * @param {mediaTailor.Ad} mediaTailorAd
3603
+ * @param {number} adPosition
3604
+ * @param {number} totalAds
3605
+ * @param {HTMLMediaElement} video
3606
+ */
3607
+ constructor(mediaTailorAd, adPosition, totalAds, isLinear, video) {}
3608
+ /**
3609
+ * @override
3610
+ */
3611
+ getDuration() {}
3612
+ /**
3613
+ * @override
3614
+ */
3615
+ getMinSuggestedDuration() {}
3616
+ /**
3617
+ * @override
3618
+ */
3619
+ getRemainingTime() {}
3620
+ /**
3621
+ * @override
3622
+ */
3623
+ isPaused() {}
3624
+ /**
3625
+ * @override
3626
+ */
3627
+ isSkippable() {}
3628
+ /**
3629
+ * @override
3630
+ */
3631
+ getTimeUntilSkippable() {}
3632
+ /**
3633
+ * @override
3634
+ */
3635
+ canSkipNow() {}
3636
+ /**
3637
+ * @override
3638
+ */
3639
+ skip() {}
3640
+ /**
3641
+ * @override
3642
+ */
3643
+ pause() {}
3644
+ /**
3645
+ * @override
3646
+ */
3647
+ play() {}
3648
+ /**
3649
+ * @override
3650
+ */
3651
+ getVolume() {}
3652
+ /**
3653
+ * @override
3654
+ */
3655
+ setVolume(volume) {}
3656
+ /**
3657
+ * @override
3658
+ */
3659
+ isMuted() {}
3660
+ /**
3661
+ * @override
3662
+ */
3663
+ isLinear() {}
3664
+ /**
3665
+ * @override
3666
+ */
3667
+ resize(width, height) {}
3668
+ /**
3669
+ * @override
3670
+ */
3671
+ setMuted(muted) {}
3672
+ /**
3673
+ * @override
3674
+ */
3675
+ getSequenceLength() {}
3676
+ /**
3677
+ * @override
3678
+ */
3679
+ getPositionInSequence() {}
3680
+ /**
3681
+ * @override
3682
+ */
3683
+ getTitle() {}
3684
+ /**
3685
+ * @override
3686
+ */
3687
+ getDescription() {}
3688
+ /**
3689
+ * @override
3690
+ */
3691
+ getVastMediaBitrate() {}
3692
+ /**
3693
+ * @override
3694
+ */
3695
+ getVastMediaHeight() {}
3696
+ /**
3697
+ * @override
3698
+ */
3699
+ getVastMediaWidth() {}
3700
+ /**
3701
+ * @override
3702
+ */
3703
+ getAdId() {}
3704
+ /**
3705
+ * @override
3706
+ */
3707
+ getCreativeAdId() {}
3708
+ /**
3709
+ * @override
3710
+ */
3711
+ getAdvertiserName() {}
3712
+ /**
3713
+ * @override
3714
+ */
3715
+ getMediaUrl() {}
3716
+ /**
3717
+ * @override
3718
+ */
3719
+ getTimeOffset() {}
3720
+ /**
3721
+ * @override
3722
+ */
3723
+ getPodIndex() {}
3724
+ /**
3725
+ * @override
3726
+ */
3727
+ release() {}
3728
+ };
3563
3729
  /**
3564
3730
  * @implements {shaka.extern.IAd}
3565
3731
  */
@@ -3726,6 +3892,18 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
3726
3892
  * @override
3727
3893
  */
3728
3894
  updateClientSideAdsRenderingSettings(adsRenderingSettings) {}
3895
+ /**
3896
+ * @override
3897
+ */
3898
+ initMediaTailor(adContainer, networkingEngine, video) {}
3899
+ /**
3900
+ * @param {string} url
3901
+ * @param {Object} adsParams
3902
+ * @param {string=} backupUrl
3903
+ * @return {!Promise.<string>}
3904
+ * @override
3905
+ */
3906
+ requestMediaTailorStream(url, adsParams, backupUrl) {}
3729
3907
  /**
3730
3908
  * @override
3731
3909
  */
@@ -3746,11 +3924,20 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
3746
3924
  * @override
3747
3925
  */
3748
3926
  getServerSideCuePoints() {}
3927
+ /**
3928
+ * @return {!Array.<!shaka.extern.AdCuePoint>}
3929
+ * @override
3930
+ */
3931
+ getCuePoints() {}
3749
3932
  /**
3750
3933
  * @return {shaka.extern.AdsStats}
3751
3934
  * @override
3752
3935
  */
3753
3936
  getStats() {}
3937
+ /**
3938
+ * @override
3939
+ */
3940
+ onManifestUpdated(isLive) {}
3754
3941
  /**
3755
3942
  * @override
3756
3943
  */
@@ -5026,7 +5213,7 @@ shaka.transmuxer.MpegTsTransmuxer = class {
5026
5213
  /**
5027
5214
  * @override
5028
5215
  */
5029
- transmux(data) {}
5216
+ transmux(data, stream, reference, duration, contentType) {}
5030
5217
  };
5031
5218
  /**
5032
5219
  * @implements {shaka.extern.Transmuxer}
@@ -5061,39 +5248,6 @@ shaka.transmuxer.MssTransmuxer = class {
5061
5248
  */
5062
5249
  transmux(data, stream, reference) {}
5063
5250
  };
5064
- /**
5065
- * @implements {shaka.extern.Transmuxer}
5066
- */
5067
- shaka.transmuxer.MuxjsTransmuxer = class {
5068
- /**
5069
- * @param {string} mimeType
5070
- */
5071
- constructor(mimeType) {}
5072
- /**
5073
- * @override
5074
- */
5075
- destroy() {}
5076
- /**
5077
- * Check if the mime type and the content type is supported.
5078
- * @param {string} mimeType
5079
- * @param {string=} contentType
5080
- * @return {boolean}
5081
- * @override
5082
- */
5083
- isSupported(mimeType, contentType) {}
5084
- /**
5085
- * @override
5086
- */
5087
- convertCodecs(contentType, mimeType) {}
5088
- /**
5089
- * @override
5090
- */
5091
- getOrginalMimeType() {}
5092
- /**
5093
- * @override
5094
- */
5095
- transmux(data) {}
5096
- };
5097
5251
  /**
5098
5252
  * @implements {shaka.extern.Transmuxer}
5099
5253
  */