shaka-player 4.7.13 → 4.7.15

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 (59) hide show
  1. package/AUTHORS +1 -0
  2. package/CONTRIBUTORS +2 -0
  3. package/dist/cast-boot.js +37 -0
  4. package/dist/deps.js +5 -4
  5. package/dist/locales.js +31 -31
  6. package/dist/shaka-player.compiled.d.ts +37 -14
  7. package/dist/shaka-player.compiled.debug.d.ts +37 -14
  8. package/dist/shaka-player.compiled.debug.externs.js +14 -0
  9. package/dist/shaka-player.compiled.debug.js +360 -350
  10. package/dist/shaka-player.compiled.debug.map +4 -4
  11. package/dist/shaka-player.compiled.externs.js +14 -0
  12. package/dist/shaka-player.compiled.js +1107 -1105
  13. package/dist/shaka-player.compiled.map +4 -4
  14. package/dist/shaka-player.ui.d.ts +37 -14
  15. package/dist/shaka-player.ui.debug.d.ts +37 -14
  16. package/dist/shaka-player.ui.debug.externs.js +14 -0
  17. package/dist/shaka-player.ui.debug.js +280 -269
  18. package/dist/shaka-player.ui.debug.map +4 -4
  19. package/dist/shaka-player.ui.externs.js +14 -0
  20. package/dist/shaka-player.ui.js +1267 -1265
  21. package/dist/shaka-player.ui.map +4 -4
  22. package/externs/cast-namespace.js +14 -0
  23. package/externs/{chromecast.js → cast-sdk-v2.js} +0 -4
  24. package/externs/cast-sdk-v3.js +35 -0
  25. package/externs/ima.js +2 -0
  26. package/externs/mediatailor.js +0 -0
  27. package/externs/{cast.js → remote-playback.js} +2 -2
  28. package/externs/shaka/player.js +5 -2
  29. package/lib/ads/client_side_ad_manager.js +9 -5
  30. package/lib/cea/cea608_data_channel.js +9 -0
  31. package/lib/cea/cea_decoder.js +9 -2
  32. package/lib/dash/segment_template.js +30 -2
  33. package/lib/hls/hls_parser.js +19 -10
  34. package/lib/media/closed_caption_parser.js +16 -4
  35. package/lib/media/drm_engine.js +17 -3
  36. package/lib/media/gap_jumping_controller.js +9 -1
  37. package/lib/media/media_source_engine.js +20 -13
  38. package/lib/media/play_rate_controller.js +36 -8
  39. package/lib/media/playhead.js +3 -3
  40. package/lib/media/segment_index.js +10 -0
  41. package/lib/media/segment_reference.js +12 -0
  42. package/lib/media/stall_detector.js +3 -0
  43. package/lib/media/streaming_engine.js +8 -14
  44. package/lib/net/http_fetch_plugin.js +3 -1
  45. package/lib/net/http_xhr_plugin.js +6 -1
  46. package/lib/player.js +111 -53
  47. package/lib/polyfill/media_capabilities.js +7 -5
  48. package/lib/polyfill/patchedmediakeys_cert.js +62 -0
  49. package/lib/text/ui_text_displayer.js +10 -1
  50. package/lib/transmuxer/ts_transmuxer.js +6 -24
  51. package/lib/util/object_utils.js +1 -2
  52. package/lib/util/platform.js +100 -11
  53. package/lib/util/stream_utils.js +31 -14
  54. package/package.json +7 -2
  55. package/support.html +2 -0
  56. package/ui/audio_language_selection.js +4 -0
  57. package/ui/range_element.js +8 -2
  58. package/ui/resolution_selection.js +5 -0
  59. package/ui/text_selection.js +4 -0
@@ -1052,6 +1052,7 @@ declare namespace shaka.media {
1052
1052
  evict (time : number ) : any ;
1053
1053
  find (time : number ) : number | null ;
1054
1054
  fit (windowStart : number , windowEnd : number | null , c ? : boolean ) : any ;
1055
+ forEachTopLevelReference (fn : any ) : any ;
1055
1056
  get (position : number ) : shaka.media.SegmentReference | null ;
1056
1057
  merge (references : any ) : any ;
1057
1058
  mergeAndEvict (references : shaka.media.SegmentReference [] , windowStart : number ) : any ;
@@ -1886,6 +1887,16 @@ declare namespace shaka.polyfill {
1886
1887
  }
1887
1888
  }
1888
1889
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1890
+ declare namespace shaka.polyfill {
1891
+ class PatchedMediaKeysCert {
1892
+ private noStructuralTyping_shaka_polyfill_PatchedMediaKeysCert : any;
1893
+ /**
1894
+ * Installs the polyfill if needed.
1895
+ */
1896
+ static install ( ) : any ;
1897
+ }
1898
+ }
1899
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1889
1900
  declare namespace shaka.polyfill {
1890
1901
  class PatchedMediaKeysNop {
1891
1902
  private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
@@ -4172,18 +4183,18 @@ declare namespace ಠ_ಠ.clutz {
4172
4183
  evaluate ( ) : any ;
4173
4184
  }
4174
4185
  }
4175
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4186
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4176
4187
  declare namespace ಠ_ಠ.clutz {
4177
4188
  function __onGCastApiAvailable (a : boolean ) : any ;
4178
4189
  }
4179
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4190
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4180
4191
  declare namespace cast.receiver {
4181
4192
  class CastChannel {
4182
4193
  private noStructuralTyping_cast_receiver_CastChannel : any;
4183
4194
  send (message : any ) : any ;
4184
4195
  }
4185
4196
  }
4186
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4197
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4187
4198
  declare namespace cast.receiver {
4188
4199
  class CastMessageBus {
4189
4200
  private noStructuralTyping_cast_receiver_CastMessageBus : any;
@@ -4192,7 +4203,7 @@ declare namespace cast.receiver {
4192
4203
  onMessage : Function | null ;
4193
4204
  }
4194
4205
  }
4195
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4206
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4196
4207
  declare namespace cast.receiver.CastMessageBus {
4197
4208
  class Event {
4198
4209
  private noStructuralTyping_cast_receiver_CastMessageBus_Event : any;
@@ -4200,7 +4211,7 @@ declare namespace cast.receiver.CastMessageBus {
4200
4211
  senderId : string ;
4201
4212
  }
4202
4213
  }
4203
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4214
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4204
4215
  declare namespace cast.receiver {
4205
4216
  class CastReceiverManager {
4206
4217
  private noStructuralTyping_cast_receiver_CastReceiverManager : any;
@@ -4218,7 +4229,7 @@ declare namespace cast.receiver {
4218
4229
  static getInstance ( ) : cast.receiver.CastReceiverManager | null ;
4219
4230
  }
4220
4231
  }
4221
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4232
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4222
4233
  declare namespace cast.receiver.media {
4223
4234
  enum MetadataType {
4224
4235
  GENERIC = 0.0 ,
@@ -4228,7 +4239,7 @@ declare namespace cast.receiver.media {
4228
4239
  TV_SHOW = 2.0 ,
4229
4240
  }
4230
4241
  }
4231
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4242
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4232
4243
  declare namespace cast.receiver.system {
4233
4244
  class SystemVolumeData {
4234
4245
  private noStructuralTyping_cast_receiver_system_SystemVolumeData : any;
@@ -4236,14 +4247,14 @@ declare namespace cast.receiver.system {
4236
4247
  muted : boolean ;
4237
4248
  }
4238
4249
  }
4239
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4250
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4240
4251
  declare namespace chrome.cast {
4241
4252
  class ApiConfig {
4242
4253
  private noStructuralTyping_chrome_cast_ApiConfig : any;
4243
4254
  constructor (sessionRequest : chrome.cast.SessionRequest | null , sessionListener : Function | null , receiverListener : Function | null , autoJoinPolicy ? : string , defaultActionPolicy ? : string ) ;
4244
4255
  }
4245
4256
  }
4246
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4257
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4247
4258
  declare namespace chrome.cast {
4248
4259
  class Error {
4249
4260
  private noStructuralTyping_chrome_cast_Error : any;
@@ -4253,14 +4264,14 @@ declare namespace chrome.cast {
4253
4264
  details : object | null ;
4254
4265
  }
4255
4266
  }
4256
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4267
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4257
4268
  declare namespace chrome.cast {
4258
4269
  class Receiver {
4259
4270
  private noStructuralTyping_chrome_cast_Receiver : any;
4260
4271
  friendlyName : string ;
4261
4272
  }
4262
4273
  }
4263
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4274
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4264
4275
  declare namespace chrome.cast {
4265
4276
  class Session {
4266
4277
  private noStructuralTyping_chrome_cast_Session : any;
@@ -4276,21 +4287,33 @@ declare namespace chrome.cast {
4276
4287
  stop (successCallback : Function | null , errorCallback : Function | null ) : any ;
4277
4288
  }
4278
4289
  }
4279
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4290
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4280
4291
  declare namespace chrome.cast {
4281
4292
  class SessionRequest {
4282
4293
  private noStructuralTyping_chrome_cast_SessionRequest : any;
4283
4294
  constructor (appId : string , capabilities : ( object | null ) [] | null , timeout : number | null , androidReceiverCompatible : boolean , credentialsData : object | null ) ;
4284
4295
  }
4285
4296
  }
4286
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4297
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4287
4298
  declare namespace chrome.cast.SessionStatus {
4288
4299
  let STOPPED : string ;
4289
4300
  }
4290
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4301
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4291
4302
  declare namespace chrome.cast {
4292
4303
  let isAvailable : boolean ;
4293
4304
  }
4305
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v3.js
4306
+ declare namespace cast.framework {
4307
+ class CastReceiverContext {
4308
+ private noStructuralTyping_cast_framework_CastReceiverContext : any;
4309
+ start (options : cast.framework.CastReceiverOptions ) : cast.framework.CastReceiverContext ;
4310
+ static getInstance ( ) : cast.framework.CastReceiverContext ;
4311
+ }
4312
+ }
4313
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v3.js
4314
+ declare namespace cast.framework {
4315
+ type CastReceiverOptions = { disableIdleTimeout : boolean , skipPlayersLoad : boolean , statusText : string } ;
4316
+ }
4294
4317
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/cmcd.js
4295
4318
  declare namespace ಠ_ಠ.clutz {
4296
4319
  type CmcdData = { bl ? : number , br ? : number , bs ? : boolean , cid ? : string , d ? : number , dl ? : number , mtp ? : number , nor ? : string , nrr ? : string , ot ? : string , pr ? : number , rtp ? : number , sf ? : string , sid ? : string , st ? : string , su ? : boolean , tb ? : number , v ? : number } ;
@@ -1052,6 +1052,7 @@ declare namespace shaka.media {
1052
1052
  evict (time : number ) : any ;
1053
1053
  find (time : number ) : number | null ;
1054
1054
  fit (windowStart : number , windowEnd : number | null , c ? : boolean ) : any ;
1055
+ forEachTopLevelReference (fn : any ) : any ;
1055
1056
  get (position : number ) : shaka.media.SegmentReference | null ;
1056
1057
  merge (references : any ) : any ;
1057
1058
  mergeAndEvict (references : shaka.media.SegmentReference [] , windowStart : number ) : any ;
@@ -1886,6 +1887,16 @@ declare namespace shaka.polyfill {
1886
1887
  }
1887
1888
  }
1888
1889
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
1890
+ declare namespace shaka.polyfill {
1891
+ class PatchedMediaKeysCert {
1892
+ private noStructuralTyping_shaka_polyfill_PatchedMediaKeysCert : any;
1893
+ /**
1894
+ * Installs the polyfill if needed.
1895
+ */
1896
+ static install ( ) : any ;
1897
+ }
1898
+ }
1899
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
1889
1900
  declare namespace shaka.polyfill {
1890
1901
  class PatchedMediaKeysNop {
1891
1902
  private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
@@ -4172,18 +4183,18 @@ declare namespace ಠ_ಠ.clutz {
4172
4183
  evaluate ( ) : any ;
4173
4184
  }
4174
4185
  }
4175
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4186
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4176
4187
  declare namespace ಠ_ಠ.clutz {
4177
4188
  function __onGCastApiAvailable (a : boolean ) : any ;
4178
4189
  }
4179
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4190
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4180
4191
  declare namespace cast.receiver {
4181
4192
  class CastChannel {
4182
4193
  private noStructuralTyping_cast_receiver_CastChannel : any;
4183
4194
  send (message : any ) : any ;
4184
4195
  }
4185
4196
  }
4186
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4197
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4187
4198
  declare namespace cast.receiver {
4188
4199
  class CastMessageBus {
4189
4200
  private noStructuralTyping_cast_receiver_CastMessageBus : any;
@@ -4192,7 +4203,7 @@ declare namespace cast.receiver {
4192
4203
  onMessage : Function | null ;
4193
4204
  }
4194
4205
  }
4195
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4206
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4196
4207
  declare namespace cast.receiver.CastMessageBus {
4197
4208
  class Event {
4198
4209
  private noStructuralTyping_cast_receiver_CastMessageBus_Event : any;
@@ -4200,7 +4211,7 @@ declare namespace cast.receiver.CastMessageBus {
4200
4211
  senderId : string ;
4201
4212
  }
4202
4213
  }
4203
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4214
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4204
4215
  declare namespace cast.receiver {
4205
4216
  class CastReceiverManager {
4206
4217
  private noStructuralTyping_cast_receiver_CastReceiverManager : any;
@@ -4218,7 +4229,7 @@ declare namespace cast.receiver {
4218
4229
  static getInstance ( ) : cast.receiver.CastReceiverManager | null ;
4219
4230
  }
4220
4231
  }
4221
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4232
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4222
4233
  declare namespace cast.receiver.media {
4223
4234
  enum MetadataType {
4224
4235
  GENERIC = 0.0 ,
@@ -4228,7 +4239,7 @@ declare namespace cast.receiver.media {
4228
4239
  TV_SHOW = 2.0 ,
4229
4240
  }
4230
4241
  }
4231
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4242
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4232
4243
  declare namespace cast.receiver.system {
4233
4244
  class SystemVolumeData {
4234
4245
  private noStructuralTyping_cast_receiver_system_SystemVolumeData : any;
@@ -4236,14 +4247,14 @@ declare namespace cast.receiver.system {
4236
4247
  muted : boolean ;
4237
4248
  }
4238
4249
  }
4239
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4250
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4240
4251
  declare namespace chrome.cast {
4241
4252
  class ApiConfig {
4242
4253
  private noStructuralTyping_chrome_cast_ApiConfig : any;
4243
4254
  constructor (sessionRequest : chrome.cast.SessionRequest | null , sessionListener : Function | null , receiverListener : Function | null , autoJoinPolicy ? : string , defaultActionPolicy ? : string ) ;
4244
4255
  }
4245
4256
  }
4246
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4257
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4247
4258
  declare namespace chrome.cast {
4248
4259
  class Error {
4249
4260
  private noStructuralTyping_chrome_cast_Error : any;
@@ -4253,14 +4264,14 @@ declare namespace chrome.cast {
4253
4264
  details : object | null ;
4254
4265
  }
4255
4266
  }
4256
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4267
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4257
4268
  declare namespace chrome.cast {
4258
4269
  class Receiver {
4259
4270
  private noStructuralTyping_chrome_cast_Receiver : any;
4260
4271
  friendlyName : string ;
4261
4272
  }
4262
4273
  }
4263
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4274
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4264
4275
  declare namespace chrome.cast {
4265
4276
  class Session {
4266
4277
  private noStructuralTyping_chrome_cast_Session : any;
@@ -4276,21 +4287,33 @@ declare namespace chrome.cast {
4276
4287
  stop (successCallback : Function | null , errorCallback : Function | null ) : any ;
4277
4288
  }
4278
4289
  }
4279
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4290
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4280
4291
  declare namespace chrome.cast {
4281
4292
  class SessionRequest {
4282
4293
  private noStructuralTyping_chrome_cast_SessionRequest : any;
4283
4294
  constructor (appId : string , capabilities : ( object | null ) [] | null , timeout : number | null , androidReceiverCompatible : boolean , credentialsData : object | null ) ;
4284
4295
  }
4285
4296
  }
4286
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4297
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4287
4298
  declare namespace chrome.cast.SessionStatus {
4288
4299
  let STOPPED : string ;
4289
4300
  }
4290
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/chromecast.js
4301
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v2.js
4291
4302
  declare namespace chrome.cast {
4292
4303
  let isAvailable : boolean ;
4293
4304
  }
4305
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v3.js
4306
+ declare namespace cast.framework {
4307
+ class CastReceiverContext {
4308
+ private noStructuralTyping_cast_framework_CastReceiverContext : any;
4309
+ start (options : cast.framework.CastReceiverOptions ) : cast.framework.CastReceiverContext ;
4310
+ static getInstance ( ) : cast.framework.CastReceiverContext ;
4311
+ }
4312
+ }
4313
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/cast-sdk-v3.js
4314
+ declare namespace cast.framework {
4315
+ type CastReceiverOptions = { disableIdleTimeout : boolean , skipPlayersLoad : boolean , statusText : string } ;
4316
+ }
4294
4317
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/cmcd.js
4295
4318
  declare namespace ಠ_ಠ.clutz {
4296
4319
  type CmcdData = { bl ? : number , br ? : number , bs ? : boolean , cid ? : string , d ? : number , dl ? : number , mtp ? : number , nor ? : string , nrr ? : string , ot ? : string , pr ? : number , rtp ? : number , sf ? : string , sid ? : string , st ? : string , su ? : boolean , tb ? : number , v ? : number } ;
@@ -2817,6 +2817,10 @@ shaka.media.MetaSegmentIndex = class extends shaka.media.SegmentIndex {
2817
2817
  * @override
2818
2818
  */
2819
2819
  release() {}
2820
+ /**
2821
+ * @override
2822
+ */
2823
+ forEachTopLevelReference(fn) {}
2820
2824
  /**
2821
2825
  * @override
2822
2826
  */
@@ -5054,6 +5058,16 @@ shaka.polyfill.PatchedMediaKeysApple = class {
5054
5058
  */
5055
5059
  static uninstall() {}
5056
5060
  };
5061
+ /**
5062
+ * @summary A polyfill to fix setServerCertificate implementation on
5063
+ * older platforms which claim to support modern EME.
5064
+ */
5065
+ shaka.polyfill.PatchedMediaKeysCert = class {
5066
+ /**
5067
+ * Installs the polyfill if needed.
5068
+ */
5069
+ static install() {}
5070
+ };
5057
5071
  /**
5058
5072
  * @summary A polyfill to stub out
5059
5073
  * {@link https://bit.ly/EmeMar15 EME draft 12 March 2015} on browsers without