]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/assets/player/p2p-media-loader/segment-url-builder.ts
Improve HLS redundancy
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / p2p-media-loader / segment-url-builder.ts
index fb990a19dd44558bcfcb0ee72a89da16421967f2..039777cea85564a48821c12faaf4ff321d213750 100644 (file)
@@ -1,17 +1,9 @@
-import { basename } from 'path'
 import { Segment } from 'p2p-media-loader-core'
+import { RedundancyUrlManager } from './redundancy-url-manager'
 
-function segmentUrlBuilderFactory (baseUrls: string[]) {
+function segmentUrlBuilderFactory (redundancyUrlManager: RedundancyUrlManager) {
   return function segmentBuilder (segment: Segment) {
-    const max = baseUrls.length + 1
-    const i = getRandomInt(max)
-
-    if (i === max - 1) return segment.url
-
-    const newBaseUrl = baseUrls[i]
-    const middlePart = newBaseUrl.endsWith('/') ? '' : '/'
-
-    return newBaseUrl + middlePart + basename(segment.url)
+    return redundancyUrlManager.buildUrl(segment.url)
   }
 }
 
@@ -20,9 +12,3 @@ function segmentUrlBuilderFactory (baseUrls: string[]) {
 export {
   segmentUrlBuilderFactory
 }
-
-// ---------------------------------------------------------------------------
-
-function getRandomInt (max: number) {
-  return Math.floor(Math.random() * Math.floor(max))
-}