]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Improve playback with bad redundancies
authorChocobozzz <me@florianbigard.com>
Thu, 14 Oct 2021 14:20:36 +0000 (16:20 +0200)
committerChocobozzz <me@florianbigard.com>
Thu, 14 Oct 2021 15:06:41 +0000 (17:06 +0200)
client/package.json
client/src/assets/player/p2p-media-loader/segment-url-builder.ts
client/src/assets/player/peertube-player-manager.ts
client/yarn.lock

index ac85366c3cf6bcf815dbdd72f853463366a6f25a..ede26a3f72bb2d8d4209215faeffa16385dce40d 100644 (file)
@@ -55,8 +55,8 @@
     "@ngx-loading-bar/core": "^5.0.0",
     "@ngx-loading-bar/http-client": "^5.0.0",
     "@ngx-loading-bar/router": "^5.0.0",
-    "@peertube/p2p-media-loader-core": "^1.0.2",
-    "@peertube/p2p-media-loader-hlsjs": "^1.0.4",
+    "@peertube/p2p-media-loader-core": "^1.0.4",
+    "@peertube/p2p-media-loader-hlsjs": "^1.0.6",
     "@types/chart.js": "^2.9.16",
     "@types/core-js": "^2.5.2",
     "@types/debug": "^4.1.5",
index ad0e460aee0d2e08875133deafd2bdb91abdbddf..5ddc81ff6d55528987cc7ad7a086e2381dc5f5f4 100644 (file)
@@ -1,8 +1,11 @@
 import { Segment } from '@peertube/p2p-media-loader-core'
 import { RedundancyUrlManager } from './redundancy-url-manager'
 
-function segmentUrlBuilderFactory (redundancyUrlManager: RedundancyUrlManager) {
+function segmentUrlBuilderFactory (redundancyUrlManager: RedundancyUrlManager, requiredSegmentsPriority: number) {
   return function segmentBuilder (segment: Segment) {
+    // Don't use redundancy for high priority segments
+    if (segment.priority <= requiredSegmentsPriority) return segment.url
+
     return redundancyUrlManager.buildUrl(segment.url)
   }
 }
index 230d6298bc114c8eccffcbc066e58e4a621ec045..73b5bc01c5eec745a01653daa58480785cfa762d 100644 (file)
@@ -374,7 +374,7 @@ export class PeertubePlayerManager {
         rtcConfig: getRtcConfig(),
         requiredSegmentsPriority: 1,
         simultaneousHttpDownloads: 1,
-        segmentUrlBuilder: segmentUrlBuilderFactory(redundancyUrlManager),
+        segmentUrlBuilder: segmentUrlBuilderFactory(redundancyUrlManager, 1),
         useP2P: getStoredP2PEnabled(),
         consumeOnly
       },
index 44ec1bfe640c72b1216040b20ba22577cf9e0724..20941258eecc8ead9b1e2d94c9010c0514866598 100644 (file)
     tslib "^2.0.0"
     yargs-parser "20.0.0"
 
-"@peertube/p2p-media-loader-core@^1.0.2":
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/@peertube/p2p-media-loader-core/-/p2p-media-loader-core-1.0.2.tgz#ef36a23df5a5393cc5d180a45dfb70d2c3ecff87"
-  integrity sha512-2F6Cx2ncXe+ySaaGiAWf7jJ8snJpyd7WNCxYbJ5Zadst1mNSQlxUqH4/qEl/bai4DiuzzhudlzXS8U3SX9c9Jw==
+"@peertube/p2p-media-loader-core@^1.0.4":
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/@peertube/p2p-media-loader-core/-/p2p-media-loader-core-1.0.4.tgz#61ef559e57b582c334790f0dc0230ee038703614"
+  integrity sha512-JuWMTMTkyQRUf3VbGElQ6VlbKCiFUu5ioMEPNwYx75rE+BPnIXQf6jMUyAEpPoHhGSlcef546Z3mxcDHKJtZ6g==
   dependencies:
     bittorrent-tracker "^9.16.1"
     debug "^4.3.1"
     sha.js "^2.4.11"
     simple-peer "^9.10.0"
 
-"@peertube/p2p-media-loader-hlsjs@^1.0.4":
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/@peertube/p2p-media-loader-hlsjs/-/p2p-media-loader-hlsjs-1.0.4.tgz#849809067886e41bf2ba7e71a2da33478863bc66"
-  integrity sha512-FFFlYPFwTGxB3CPChqlzPqJw65ajIjCCxCn4IQRNuagYpo0fdaxrgepMHNPW3Zl5DmvEppv+ohUfYyr98U1wiw==
+"@peertube/p2p-media-loader-hlsjs@^1.0.6":
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/@peertube/p2p-media-loader-hlsjs/-/p2p-media-loader-hlsjs-1.0.6.tgz#d7f6ee786d756e20953428322bdffec80691b78e"
+  integrity sha512-nCV+mgpLL+XVJg5zv5m0oiVxsS/V/+NfJ0HtmVEXSU0EP5S32zPGMQpSWRNwGT6o+VZnyvKOtiqZDIK1vpabyA==
   dependencies:
-    "@peertube/p2p-media-loader-core" "^1.0.2"
     events "^3.3.0"
     m3u8-parser "^4.6.0"