]>
Commit | Line | Data |
---|---|---|
57d65032 | 1 | import { PeertubePlayerManagerOptions } from '../../types' |
9597920e C |
2 | |
3 | export class WebTorrentOptionsBuilder { | |
4 | ||
5 | constructor ( | |
6 | private options: PeertubePlayerManagerOptions, | |
7 | private autoPlayValue: any | |
8 | ) { | |
9 | ||
10 | } | |
11 | ||
12 | getPluginOptions () { | |
13 | const commonOptions = this.options.common | |
14 | const webtorrentOptions = this.options.webtorrent | |
15 | const p2pMediaLoaderOptions = this.options.p2pMediaLoader | |
16 | ||
17 | const autoplay = this.autoPlayValue === 'play' | |
18 | ||
19 | const webtorrent = { | |
20 | autoplay, | |
21 | ||
22 | playerRefusedP2P: commonOptions.p2pEnabled === false, | |
23 | videoDuration: commonOptions.videoDuration, | |
24 | playerElement: commonOptions.playerElement, | |
25 | ||
26 | videoFiles: webtorrentOptions.videoFiles.length !== 0 | |
27 | ? webtorrentOptions.videoFiles | |
28 | // The WebTorrent plugin won't be able to play these files, but it will fallback to HTTP mode | |
29 | : p2pMediaLoaderOptions?.videoFiles || [], | |
30 | ||
31 | startTime: commonOptions.startTime | |
32 | } | |
33 | ||
34 | return { webtorrent } | |
35 | } | |
36 | } |