]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/assets/player/shared/manager-options/hls-options-builder.ts
Merge branch 'release/4.3.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / shared / manager-options / hls-options-builder.ts
index ed12f6e8b2b79dcde6fd4f01023f2bc4a2b26e7c..361c76f4bf6793819a4a0f1c3f9196b7dfdcd61c 100644 (file)
@@ -19,12 +19,15 @@ export class HLSOptionsBuilder {
 
   }
 
-  getPluginOptions () {
+  async getPluginOptions () {
     const commonOptions = this.options.common
 
     const redundancyUrlManager = new RedundancyUrlManager(this.options.p2pMediaLoader.redundancyBaseUrls)
 
-    const p2pMediaLoaderConfig = this.getP2PMediaLoaderOptions(redundancyUrlManager)
+    const p2pMediaLoaderConfig = await this.options.pluginsManager.runHook(
+      'filter:internal.player.p2p-media-loader.options.result',
+      this.getP2PMediaLoaderOptions(redundancyUrlManager)
+    )
     const loader = new this.p2pMediaLoaderModule.Engine(p2pMediaLoaderConfig).createLoaderClass() as P2PMediaLoader
 
     const p2pMediaLoader: P2PMediaLoaderPluginOptions = {
@@ -82,7 +85,7 @@ export class HLSOptionsBuilder {
         httpFailedSegmentTimeout: 1000,
 
         segmentValidator: segmentValidatorFactory(this.options.p2pMediaLoader.segmentsSha256Url, this.options.common.isLive),
-        segmentUrlBuilder: segmentUrlBuilderFactory(redundancyUrlManager, 1),
+        segmentUrlBuilder: segmentUrlBuilderFactory(redundancyUrlManager),
 
         useP2P: this.options.common.p2pEnabled,
         consumeOnly,
@@ -123,6 +126,7 @@ export class HLSOptionsBuilder {
   private getP2PMediaLoaderVODOptions (): Partial<HybridLoaderSettings> {
     return {
       requiredSegmentsPriority: 3,
+      skipSegmentBuilderPriority: 1,
 
       cachedSegmentExpiration: 86400000,
       cachedSegmentsCount: 100,
@@ -158,6 +162,7 @@ export class HLSOptionsBuilder {
       ...base,
 
       abrEwmaDefaultEstimate: averageBandwidth * 8, // We want bit/s
+      backBufferLength: 90,
       startLevel: -1,
       testBandwidth: false,
       debug: false