diff options
Diffstat (limited to 'client/src/assets/player/shared/p2p-media-loader/segment-url-builder.ts')
-rw-r--r-- | client/src/assets/player/shared/p2p-media-loader/segment-url-builder.ts | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/client/src/assets/player/shared/p2p-media-loader/segment-url-builder.ts b/client/src/assets/player/shared/p2p-media-loader/segment-url-builder.ts new file mode 100644 index 000000000..9d324078a --- /dev/null +++ b/client/src/assets/player/shared/p2p-media-loader/segment-url-builder.ts | |||
@@ -0,0 +1,17 @@ | |||
1 | import { Segment } from '@peertube/p2p-media-loader-core' | ||
2 | import { RedundancyUrlManager } from './redundancy-url-manager' | ||
3 | |||
4 | function segmentUrlBuilderFactory (redundancyUrlManager: RedundancyUrlManager, useOriginPriority: number) { | ||
5 | return function segmentBuilder (segment: Segment) { | ||
6 | // Don't use redundancy for high priority segments | ||
7 | if (segment.priority <= useOriginPriority) return segment.url | ||
8 | |||
9 | return redundancyUrlManager.buildUrl(segment.url) | ||
10 | } | ||
11 | } | ||
12 | |||
13 | // --------------------------------------------------------------------------- | ||
14 | |||
15 | export { | ||
16 | segmentUrlBuilderFactory | ||
17 | } | ||