return VideoFileModel.destroy(options)
}
+ hasTorrent () {
+ return this.infoHash && this.torrentFilename
+ }
+
getVideoOrStreamingPlaylist (this: MVideoFileVideo | MVideoFileStreamingPlaylistVideo): MVideo | MStreamingPlaylistVideo {
if (this.videoId) return (this as MVideoFileVideo).Video
label: videoFile.resolution + 'p'
},
- magnetUri: includeMagnet && videoFile.torrentFilename
+ magnetUri: includeMagnet && videoFile.hasTorrent()
? generateMagnetUri(video, videoFile, trackerUrls)
: undefined,
fps: file.fps
})
- acc.push({
- type: 'Link',
- mediaType: 'application/x-bittorrent' as 'application/x-bittorrent',
- href: file.getTorrentUrl(),
- height: file.resolution
- })
-
- acc.push({
- type: 'Link',
- mediaType: 'application/x-bittorrent;x-scheme-handler/magnet' as 'application/x-bittorrent;x-scheme-handler/magnet',
- href: generateMagnetUri(video, file, trackerUrls),
- height: file.resolution
- })
+ if (file.hasTorrent()) {
+ acc.push({
+ type: 'Link',
+ mediaType: 'application/x-bittorrent' as 'application/x-bittorrent',
+ href: file.getTorrentUrl(),
+ height: file.resolution
+ })
+
+ acc.push({
+ type: 'Link',
+ mediaType: 'application/x-bittorrent;x-scheme-handler/magnet' as 'application/x-bittorrent;x-scheme-handler/magnet',
+ href: generateMagnetUri(video, file, trackerUrls),
+ height: file.resolution
+ })
+ }
}
}