shaka-player 4.2.9 → 4.2.11

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 (92) hide show
  1. package/.github/workflows/demo-version-index.yaml +3 -3
  2. package/.github/workflows/selenium-lab-tests.yaml +23 -1
  3. package/AUTHORS +2 -1
  4. package/CHANGELOG.md +44 -0
  5. package/CONTRIBUTORS +4 -1
  6. package/README.md +3 -0
  7. package/demo/demo.less +1 -0
  8. package/dist/controls.css +1 -1
  9. package/dist/demo.compiled.debug.js +154 -276
  10. package/dist/demo.compiled.debug.map +4 -4
  11. package/dist/demo.compiled.js +154 -276
  12. package/dist/demo.compiled.map +4 -4
  13. package/dist/demo.css +1 -1
  14. package/dist/demo.css.map +1 -1
  15. package/dist/deps.js +1 -1
  16. package/dist/locales.js +33 -33
  17. package/dist/receiver.compiled.debug.js +36 -65
  18. package/dist/receiver.compiled.debug.map +4 -4
  19. package/dist/receiver.compiled.js +36 -65
  20. package/dist/receiver.compiled.map +4 -4
  21. package/dist/shaka-player.compiled.d.ts +20 -3
  22. package/dist/shaka-player.compiled.debug.d.ts +20 -3
  23. package/dist/shaka-player.compiled.debug.externs.js +26 -12
  24. package/dist/shaka-player.compiled.debug.js +185 -180
  25. package/dist/shaka-player.compiled.debug.map +4 -4
  26. package/dist/shaka-player.compiled.externs.js +26 -12
  27. package/dist/shaka-player.compiled.js +821 -818
  28. package/dist/shaka-player.compiled.map +3 -3
  29. package/dist/shaka-player.ui.d.ts +20 -3
  30. package/dist/shaka-player.ui.debug.d.ts +20 -3
  31. package/dist/shaka-player.ui.debug.externs.js +14 -0
  32. package/dist/shaka-player.ui.debug.js +266 -261
  33. package/dist/shaka-player.ui.debug.map +3 -3
  34. package/dist/shaka-player.ui.externs.js +14 -0
  35. package/dist/shaka-player.ui.js +964 -960
  36. package/dist/shaka-player.ui.map +3 -3
  37. package/docs/tutorials/a11y.md +0 -4
  38. package/docs/tutorials/ad_monetization.md +0 -4
  39. package/docs/tutorials/basic-usage.md +0 -5
  40. package/docs/tutorials/config.md +0 -5
  41. package/docs/tutorials/debugging.md +0 -5
  42. package/docs/tutorials/drm-config.md +0 -5
  43. package/docs/tutorials/fairplay.md +2 -2
  44. package/docs/tutorials/license-server-auth.md +0 -5
  45. package/docs/tutorials/license-wrapping.md +0 -5
  46. package/docs/tutorials/network-and-buffering-config.md +0 -5
  47. package/docs/tutorials/ui-customization.md +0 -5
  48. package/docs/tutorials/ui.md +0 -7
  49. package/docs/tutorials/welcome.md +1 -6
  50. package/externs/network_information.js +7 -2
  51. package/externs/shaka/abr_manager.js +6 -0
  52. package/externs/shaka/net.js +1 -0
  53. package/externs/shaka/player.js +13 -7
  54. package/lib/abr/simple_abr_manager.js +27 -3
  55. package/lib/ads/client_side_ad_manager.js +6 -3
  56. package/lib/dash/dash_parser.js +49 -48
  57. package/lib/debug/log.js +9 -13
  58. package/lib/hls/hls_parser.js +6 -0
  59. package/lib/hls/manifest_text_parser.js +10 -1
  60. package/lib/media/drm_engine.js +9 -6
  61. package/lib/media/media_source_engine.js +17 -8
  62. package/lib/media/segment_index.js +2 -0
  63. package/lib/media/segment_reference.js +22 -0
  64. package/lib/media/streaming_engine.js +17 -7
  65. package/lib/net/http_fetch_plugin.js +79 -57
  66. package/lib/net/networking_engine.js +1 -0
  67. package/lib/player.js +26 -3
  68. package/lib/polyfill/media_capabilities.js +13 -0
  69. package/lib/text/mp4_vtt_parser.js +4 -0
  70. package/lib/text/text_engine.js +1 -0
  71. package/lib/util/manifest_parser_utils.js +1 -2
  72. package/lib/util/mime_utils.js +11 -0
  73. package/lib/util/periods.js +5 -5
  74. package/lib/util/stream_utils.js +2 -2
  75. package/maintained-branches.md +3 -4
  76. package/package.json +9 -3
  77. package/test/hls/hls_live_unit.js +3 -1
  78. package/test/media/content_workarounds_unit.js +43 -0
  79. package/test/media/drm_engine_integration.js +4 -17
  80. package/test/media/media_source_engine_unit.js +31 -0
  81. package/test/media/streaming_engine_unit.js +6 -1
  82. package/test/net/networking_engine_unit.js +6 -1
  83. package/test/player_integration.js +39 -0
  84. package/test/player_unit.js +57 -0
  85. package/test/polyfill/media_capabilities_unit.js +0 -1
  86. package/test/test/assets/text-clip-alt.vtt +63 -0
  87. package/test/test/util/fake_drm_engine.js +3 -0
  88. package/test/test/util/layout_tests.js +4 -3
  89. package/test/test/util/simple_fakes.js +6 -0
  90. package/test/test/util/test_scheme.js +9 -14
  91. package/test/text/mp4_vtt_parser_unit.js +8 -0
  92. package/test/util/mime_utils_unit.js +10 -0
@@ -454,7 +454,7 @@ declare namespace shaka.Player {
454
454
  }
455
455
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
456
456
  declare namespace shaka.abr {
457
- class SimpleAbrManager implements shaka.extern.AbrManager {
457
+ class SimpleAbrManager implements shaka.extern.AbrManager , shaka.util.IReleasable {
458
458
  private noStructuralTyping_shaka_abr_SimpleAbrManager : any;
459
459
  chooseVariant ( ) : any ;
460
460
  configure (config : any ) : any ;
@@ -463,6 +463,7 @@ declare namespace shaka.abr {
463
463
  getBandwidthEstimate ( ) : any ;
464
464
  init (switchCallback : any ) : any ;
465
465
  playbackRateChanged (rate : any ) : any ;
466
+ release ( ) : any ;
466
467
  segmentDownloaded (deltaTimeMs : any , numBytes : any ) : any ;
467
468
  setMediaElement (mediaElement : any ) : any ;
468
469
  setVariants (variants : any ) : any ;
@@ -1152,6 +1153,14 @@ declare namespace shaka.media {
1152
1153
  * Creates and returns the URIs of the resource containing the segment.
1153
1154
  */
1154
1155
  getUris ( ) : string [] ;
1156
+ /**
1157
+ * Returns true if the segment is preloaded.
1158
+ */
1159
+ isPreload ( ) : boolean ;
1160
+ /**
1161
+ * Mark the reference as preload.
1162
+ */
1163
+ markAsPreload ( ) : any ;
1155
1164
  /**
1156
1165
  * Mark the reference as unavailable.
1157
1166
  */
@@ -3825,6 +3834,10 @@ declare namespace shaka.extern {
3825
3834
  * Updates manager playback rate.
3826
3835
  */
3827
3836
  playbackRateChanged (rate : number ) : any ;
3837
+ /**
3838
+ * Request that this object release all internal references.
3839
+ */
3840
+ release ( ) : any ;
3828
3841
  /**
3829
3842
  * Notifies the AbrManager that a segment has been downloaded (includes MP4
3830
3843
  * SIDX data, WebM Cues data, initialization segments, and media segments).
@@ -4101,7 +4114,7 @@ declare namespace shaka.extern {
4101
4114
  }
4102
4115
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4103
4116
  declare namespace shaka.extern {
4104
- type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , status ? : number , timeMs ? : number , uri : string } ;
4117
+ type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , originalUri : string , status ? : number , timeMs ? : number , uri : string } ;
4105
4118
  }
4106
4119
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4107
4120
  declare namespace shaka.extern {
@@ -4368,7 +4381,7 @@ declare namespace shaka.extern {
4368
4381
  }
4369
4382
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4370
4383
  declare namespace shaka.extern {
4371
- type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , parseInbandPsshEnabled : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
4384
+ type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : shaka.extern.InitDataTransform , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , parseInbandPsshEnabled : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
4372
4385
  }
4373
4386
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4374
4387
  declare namespace shaka.extern {
@@ -4387,6 +4400,10 @@ declare namespace shaka.extern {
4387
4400
  type ID3Metadata = { [ key: string ]: any } ;
4388
4401
  }
4389
4402
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4403
+ declare namespace shaka.extern {
4404
+ type InitDataTransform = (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array ;
4405
+ }
4406
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4390
4407
  declare namespace shaka.extern {
4391
4408
  type LanguageRole = { label : string | null , language : string , role : string } ;
4392
4409
  }
@@ -454,7 +454,7 @@ declare namespace shaka.Player {
454
454
  }
455
455
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
456
456
  declare namespace shaka.abr {
457
- class SimpleAbrManager implements shaka.extern.AbrManager {
457
+ class SimpleAbrManager implements shaka.extern.AbrManager , shaka.util.IReleasable {
458
458
  private noStructuralTyping_shaka_abr_SimpleAbrManager : any;
459
459
  chooseVariant ( ) : any ;
460
460
  configure (config : any ) : any ;
@@ -463,6 +463,7 @@ declare namespace shaka.abr {
463
463
  getBandwidthEstimate ( ) : any ;
464
464
  init (switchCallback : any ) : any ;
465
465
  playbackRateChanged (rate : any ) : any ;
466
+ release ( ) : any ;
466
467
  segmentDownloaded (deltaTimeMs : any , numBytes : any ) : any ;
467
468
  setMediaElement (mediaElement : any ) : any ;
468
469
  setVariants (variants : any ) : any ;
@@ -1152,6 +1153,14 @@ declare namespace shaka.media {
1152
1153
  * Creates and returns the URIs of the resource containing the segment.
1153
1154
  */
1154
1155
  getUris ( ) : string [] ;
1156
+ /**
1157
+ * Returns true if the segment is preloaded.
1158
+ */
1159
+ isPreload ( ) : boolean ;
1160
+ /**
1161
+ * Mark the reference as preload.
1162
+ */
1163
+ markAsPreload ( ) : any ;
1155
1164
  /**
1156
1165
  * Mark the reference as unavailable.
1157
1166
  */
@@ -3825,6 +3834,10 @@ declare namespace shaka.extern {
3825
3834
  * Updates manager playback rate.
3826
3835
  */
3827
3836
  playbackRateChanged (rate : number ) : any ;
3837
+ /**
3838
+ * Request that this object release all internal references.
3839
+ */
3840
+ release ( ) : any ;
3828
3841
  /**
3829
3842
  * Notifies the AbrManager that a segment has been downloaded (includes MP4
3830
3843
  * SIDX data, WebM Cues data, initialization segments, and media segments).
@@ -4101,7 +4114,7 @@ declare namespace shaka.extern {
4101
4114
  }
4102
4115
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4103
4116
  declare namespace shaka.extern {
4104
- type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , status ? : number , timeMs ? : number , uri : string } ;
4117
+ type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , originalUri : string , status ? : number , timeMs ? : number , uri : string } ;
4105
4118
  }
4106
4119
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4107
4120
  declare namespace shaka.extern {
@@ -4368,7 +4381,7 @@ declare namespace shaka.extern {
4368
4381
  }
4369
4382
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4370
4383
  declare namespace shaka.extern {
4371
- type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , parseInbandPsshEnabled : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
4384
+ type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : shaka.extern.InitDataTransform , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , parseInbandPsshEnabled : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
4372
4385
  }
4373
4386
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4374
4387
  declare namespace shaka.extern {
@@ -4387,6 +4400,10 @@ declare namespace shaka.extern {
4387
4400
  type ID3Metadata = { [ key: string ]: any } ;
4388
4401
  }
4389
4402
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4403
+ declare namespace shaka.extern {
4404
+ type InitDataTransform = (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array ;
4405
+ }
4406
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4390
4407
  declare namespace shaka.extern {
4391
4408
  type LanguageRole = { label : string | null , language : string , role : string } ;
4392
4409
  }
@@ -1170,6 +1170,7 @@ shaka.text.TextEngine = class {
1170
1170
  * per ({@link shaka.abr.SimpleAbrManager.SWITCH_INTERVAL_MS}).
1171
1171
  * </p>
1172
1172
  * @implements {shaka.extern.AbrManager}
1173
+ * @implements {shaka.util.IReleasable}
1173
1174
  */
1174
1175
  shaka.abr.SimpleAbrManager = class {
1175
1176
  /** */
@@ -1178,6 +1179,10 @@ shaka.abr.SimpleAbrManager = class {
1178
1179
  * @override
1179
1180
  */
1180
1181
  stop() {}
1182
+ /**
1183
+ * @override
1184
+ */
1185
+ release() {}
1181
1186
  /**
1182
1187
  * @override
1183
1188
  */
@@ -1869,6 +1874,15 @@ shaka.media.SegmentReference = class {
1869
1874
  * Mark the reference as unavailable.
1870
1875
  */
1871
1876
  markAsUnavailable() {}
1877
+ /**
1878
+ * Mark the reference as preload.
1879
+ */
1880
+ markAsPreload() {}
1881
+ /**
1882
+ * Returns true if the segment is preloaded.
1883
+ * @return {boolean}
1884
+ */
1885
+ isPreload() {}
1872
1886
  /**
1873
1887
  * Offset the segment reference by a fixed amount.
1874
1888
  * @param {number} offset The amount to add to the segment's start and end