shaka-player 4.3.5 → 4.3.6

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 (88) hide show
  1. package/.github/workflows/selenium-lab-tests.yaml +23 -1
  2. package/AUTHORS +2 -1
  3. package/CHANGELOG.md +32 -0
  4. package/CONTRIBUTORS +4 -1
  5. package/dist/controls.css +2 -2
  6. package/dist/controls.css.map +1 -1
  7. package/dist/demo.compiled.debug.js +167 -296
  8. package/dist/demo.compiled.debug.map +4 -4
  9. package/dist/demo.compiled.js +167 -296
  10. package/dist/demo.compiled.map +4 -4
  11. package/dist/deps.js +1 -1
  12. package/dist/locales.js +32 -32
  13. package/dist/receiver.compiled.debug.js +34 -63
  14. package/dist/receiver.compiled.debug.map +4 -4
  15. package/dist/receiver.compiled.js +34 -63
  16. package/dist/receiver.compiled.map +4 -4
  17. package/dist/shaka-player.compiled.d.ts +12 -3
  18. package/dist/shaka-player.compiled.debug.d.ts +12 -3
  19. package/dist/shaka-player.compiled.debug.externs.js +20 -14
  20. package/dist/shaka-player.compiled.debug.js +261 -255
  21. package/dist/shaka-player.compiled.debug.map +4 -4
  22. package/dist/shaka-player.compiled.externs.js +20 -14
  23. package/dist/shaka-player.compiled.js +862 -858
  24. package/dist/shaka-player.compiled.map +3 -3
  25. package/dist/shaka-player.ui.d.ts +12 -3
  26. package/dist/shaka-player.ui.debug.d.ts +12 -3
  27. package/dist/shaka-player.ui.debug.externs.js +8 -2
  28. package/dist/shaka-player.ui.debug.js +271 -264
  29. package/dist/shaka-player.ui.debug.map +3 -3
  30. package/dist/shaka-player.ui.externs.js +8 -2
  31. package/dist/shaka-player.ui.js +1005 -1002
  32. package/dist/shaka-player.ui.map +3 -3
  33. package/docs/tutorials/a11y.md +0 -4
  34. package/docs/tutorials/ad_monetization.md +0 -4
  35. package/docs/tutorials/basic-usage.md +0 -5
  36. package/docs/tutorials/config.md +0 -5
  37. package/docs/tutorials/debugging.md +0 -5
  38. package/docs/tutorials/drm-config.md +0 -5
  39. package/docs/tutorials/fairplay.md +2 -2
  40. package/docs/tutorials/license-server-auth.md +0 -5
  41. package/docs/tutorials/license-wrapping.md +0 -5
  42. package/docs/tutorials/network-and-buffering-config.md +0 -5
  43. package/docs/tutorials/ui-customization.md +0 -5
  44. package/docs/tutorials/ui.md +0 -7
  45. package/docs/tutorials/welcome.md +0 -5
  46. package/externs/network_information.js +7 -2
  47. package/externs/shaka/abr_manager.js +6 -0
  48. package/externs/shaka/net.js +1 -0
  49. package/externs/shaka/player.js +13 -7
  50. package/lib/abr/simple_abr_manager.js +27 -3
  51. package/lib/ads/client_side_ad_manager.js +6 -3
  52. package/lib/dash/dash_parser.js +49 -48
  53. package/lib/debug/log.js +9 -13
  54. package/lib/hls/hls_parser.js +17 -5
  55. package/lib/media/media_source_engine.js +27 -9
  56. package/lib/media/presentation_timeline.js +9 -2
  57. package/lib/media/segment_index.js +2 -0
  58. package/lib/media/segment_reference.js +3 -2
  59. package/lib/media/streaming_engine.js +31 -7
  60. package/lib/net/http_fetch_plugin.js +79 -57
  61. package/lib/net/networking_engine.js +1 -0
  62. package/lib/player.js +22 -3
  63. package/lib/polyfill/media_capabilities.js +13 -0
  64. package/lib/text/mp4_vtt_parser.js +4 -0
  65. package/lib/text/text_engine.js +1 -0
  66. package/lib/util/manifest_parser_utils.js +1 -2
  67. package/lib/util/mime_utils.js +11 -0
  68. package/lib/util/periods.js +5 -5
  69. package/lib/util/stream_utils.js +2 -2
  70. package/maintained-branches.md +2 -3
  71. package/package.json +1 -1
  72. package/test/dash/dash_parser_live_unit.js +3 -2
  73. package/test/hls/hls_parser_unit.js +156 -0
  74. package/test/media/content_workarounds_unit.js +43 -0
  75. package/test/media/drm_engine_integration.js +4 -17
  76. package/test/media/streaming_engine_unit.js +6 -1
  77. package/test/net/networking_engine_unit.js +6 -1
  78. package/test/player_integration.js +39 -0
  79. package/test/player_unit.js +57 -0
  80. package/test/polyfill/media_capabilities_unit.js +1 -0
  81. package/test/test/assets/text-clip-alt.vtt +63 -0
  82. package/test/test/util/fake_drm_engine.js +3 -0
  83. package/test/test/util/fake_media_source_engine.js +4 -0
  84. package/test/test/util/simple_fakes.js +6 -0
  85. package/test/test/util/test_scheme.js +9 -14
  86. package/test/text/mp4_vtt_parser_unit.js +8 -0
  87. package/test/util/mime_utils_unit.js +10 -0
  88. package/ui/less/containers.less +4 -0
@@ -467,7 +467,7 @@ declare namespace shaka.Player {
467
467
  }
468
468
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
469
469
  declare namespace shaka.abr {
470
- class SimpleAbrManager implements shaka.extern.AbrManager {
470
+ class SimpleAbrManager implements shaka.extern.AbrManager , shaka.util.IReleasable {
471
471
  private noStructuralTyping_shaka_abr_SimpleAbrManager : any;
472
472
  chooseVariant ( ) : any ;
473
473
  configure (config : any ) : any ;
@@ -476,6 +476,7 @@ declare namespace shaka.abr {
476
476
  getBandwidthEstimate ( ) : any ;
477
477
  init (switchCallback : any ) : any ;
478
478
  playbackRateChanged (rate : any ) : any ;
479
+ release ( ) : any ;
479
480
  segmentDownloaded (deltaTimeMs : any , numBytes : any ) : any ;
480
481
  setMediaElement (mediaElement : any ) : any ;
481
482
  setVariants (variants : any ) : any ;
@@ -3957,6 +3958,10 @@ declare namespace shaka.extern {
3957
3958
  * Updates manager playback rate.
3958
3959
  */
3959
3960
  playbackRateChanged (rate : number ) : any ;
3961
+ /**
3962
+ * Request that this object release all internal references.
3963
+ */
3964
+ release ( ) : any ;
3960
3965
  /**
3961
3966
  * Notifies the AbrManager that a segment has been downloaded (includes MP4
3962
3967
  * SIDX data, WebM Cues data, initialization segments, and media segments).
@@ -4235,7 +4240,7 @@ declare namespace shaka.extern {
4235
4240
  }
4236
4241
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4237
4242
  declare namespace shaka.extern {
4238
- type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , status ? : number , timeMs ? : number , uri : string } ;
4243
+ type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , originalUri : string , status ? : number , timeMs ? : number , uri : string } ;
4239
4244
  }
4240
4245
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4241
4246
  declare namespace shaka.extern {
@@ -4502,7 +4507,7 @@ declare namespace shaka.extern {
4502
4507
  }
4503
4508
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4504
4509
  declare namespace shaka.extern {
4505
- 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 } ;
4510
+ 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 } ;
4506
4511
  }
4507
4512
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4508
4513
  declare namespace shaka.extern {
@@ -4521,6 +4526,10 @@ declare namespace shaka.extern {
4521
4526
  type ID3Metadata = { cueTime : number | null , data : Uint8Array , dts : number | null , frames : shaka.extern.MetadataFrame [] , pts : number | null } ;
4522
4527
  }
4523
4528
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4529
+ declare namespace shaka.extern {
4530
+ type InitDataTransform = (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array ;
4531
+ }
4532
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4524
4533
  declare namespace shaka.extern {
4525
4534
  type LanguageRole = { label : string | null , language : string , role : string } ;
4526
4535
  }
@@ -467,7 +467,7 @@ declare namespace shaka.Player {
467
467
  }
468
468
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
469
469
  declare namespace shaka.abr {
470
- class SimpleAbrManager implements shaka.extern.AbrManager {
470
+ class SimpleAbrManager implements shaka.extern.AbrManager , shaka.util.IReleasable {
471
471
  private noStructuralTyping_shaka_abr_SimpleAbrManager : any;
472
472
  chooseVariant ( ) : any ;
473
473
  configure (config : any ) : any ;
@@ -476,6 +476,7 @@ declare namespace shaka.abr {
476
476
  getBandwidthEstimate ( ) : any ;
477
477
  init (switchCallback : any ) : any ;
478
478
  playbackRateChanged (rate : any ) : any ;
479
+ release ( ) : any ;
479
480
  segmentDownloaded (deltaTimeMs : any , numBytes : any ) : any ;
480
481
  setMediaElement (mediaElement : any ) : any ;
481
482
  setVariants (variants : any ) : any ;
@@ -3957,6 +3958,10 @@ declare namespace shaka.extern {
3957
3958
  * Updates manager playback rate.
3958
3959
  */
3959
3960
  playbackRateChanged (rate : number ) : any ;
3961
+ /**
3962
+ * Request that this object release all internal references.
3963
+ */
3964
+ release ( ) : any ;
3960
3965
  /**
3961
3966
  * Notifies the AbrManager that a segment has been downloaded (includes MP4
3962
3967
  * SIDX data, WebM Cues data, initialization segments, and media segments).
@@ -4235,7 +4240,7 @@ declare namespace shaka.extern {
4235
4240
  }
4236
4241
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4237
4242
  declare namespace shaka.extern {
4238
- type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , status ? : number , timeMs ? : number , uri : string } ;
4243
+ type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , originalUri : string , status ? : number , timeMs ? : number , uri : string } ;
4239
4244
  }
4240
4245
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4241
4246
  declare namespace shaka.extern {
@@ -4502,7 +4507,7 @@ declare namespace shaka.extern {
4502
4507
  }
4503
4508
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4504
4509
  declare namespace shaka.extern {
4505
- 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 } ;
4510
+ 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 } ;
4506
4511
  }
4507
4512
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4508
4513
  declare namespace shaka.extern {
@@ -4521,6 +4526,10 @@ declare namespace shaka.extern {
4521
4526
  type ID3Metadata = { cueTime : number | null , data : Uint8Array , dts : number | null , frames : shaka.extern.MetadataFrame [] , pts : number | null } ;
4522
4527
  }
4523
4528
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4529
+ declare namespace shaka.extern {
4530
+ type InitDataTransform = (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array ;
4531
+ }
4532
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4524
4533
  declare namespace shaka.extern {
4525
4534
  type LanguageRole = { label : string | null , language : string , role : string } ;
4526
4535
  }
@@ -1177,6 +1177,7 @@ shaka.text.TextEngine = class {
1177
1177
  * per ({@link shaka.abr.SimpleAbrManager.SWITCH_INTERVAL_MS}).
1178
1178
  * </p>
1179
1179
  * @implements {shaka.extern.AbrManager}
1180
+ * @implements {shaka.util.IReleasable}
1180
1181
  */
1181
1182
  shaka.abr.SimpleAbrManager = class {
1182
1183
  /** */
@@ -1185,6 +1186,10 @@ shaka.abr.SimpleAbrManager = class {
1185
1186
  * @override
1186
1187
  */
1187
1188
  stop() {}
1189
+ /**
1190
+ * @override
1191
+ */
1192
+ release() {}
1188
1193
  /**
1189
1194
  * @override
1190
1195
  */
@@ -1815,8 +1820,9 @@ shaka.media.SegmentReference = class {
1815
1820
  * minus the first segment's tfdt box's 'baseMediaDecodeTime' field (after
1816
1821
  * it has been converted to seconds).
1817
1822
  * <br>
1818
- * For HLS, this value should be 0 to keep the presentation time at the most
1819
- * recent discontinuity minus the corresponding media time.
1823
+ * For HLS, this value should be the start time of the most recent
1824
+ * discontinuity, or 0 if there is no preceding discontinuity. Only used
1825
+ * in segments mode.
1820
1826
  * @param {number} appendWindowStart
1821
1827
  * The start of the append window for this reference, relative to the
1822
1828
  * presentation. Any content from before this time will be removed by