From e58bfa60ea71e2d12589134ef6b855e430272eff Mon Sep 17 00:00:00 2001 From: ThaUnknown Date: Fri, 30 Oct 2020 14:40:58 +0100 Subject: [PATCH] drive caching improvements --- app/index.html | 2 +- app/js/torrentHandler.js | 68 ++++++++++++++++++++-------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/app/index.html b/app/index.html index 29c0629..a908f2e 100644 --- a/app/index.html +++ b/app/index.html @@ -386,7 +386,7 @@
+ bad for SSDs, experimental]

diff --git a/app/js/torrentHandler.js b/app/js/torrentHandler.js index d36500c..7e8d782 100644 --- a/app/js/torrentHandler.js +++ b/app/js/torrentHandler.js @@ -69,7 +69,7 @@ async function addTorrent(magnet) { halfmoon.hideModal("tsearch") document.location.href = "#player" let selected = playerData.selected, - store + store resetVideo() selected ? selPlaying(selected) : "" await sw @@ -96,11 +96,13 @@ async function addTorrent(magnet) { alertType: "alert-success", fillType: "" }); - selectedFile.getBlobURL((err, url) => { - finishThumbnails(url); - downloadFile(url, selectedFile.name) - postDownload(url, selectedFile) - }) + if (settings.player8 && !torrent5) { + selectedFile.getBlobURL((err, url) => { + finishThumbnails(url); + downloadFile(url, selectedFile.name) + postDownload(url, selectedFile) + }) + } }) video.src = `${scope}webtorrent/${torrent.infoHash}/${encodeURI(selectedFile.path)}` video.load() @@ -119,40 +121,38 @@ async function addTorrent(magnet) { } function postDownload(url, file) { - if (settings.player8) { - if (playerData.subtitleStream) { - let parser = new SubtitleParser(), - subtitles = [] - parser.once('tracks', pTracks => { - pTracks.forEach(track => { - subtitles[track.number] = [] - }) + if (playerData.subtitleStream) { + let parser = new SubtitleParser(), + subtitles = [] + parser.once('tracks', pTracks => { + pTracks.forEach(track => { + subtitles[track.number] = [] }) - parser.on('subtitle', (subtitle, trackNumber) => { - if (playerData.headers) { - subtitles[trackNumber].push("Dialogue: " + subtitle.layer + "," + new Date(subtitle.time).toISOString().slice(12, -1).slice(0, -1) + "," + new Date(subtitle.time + subtitle.duration).toISOString().slice(12, -1).slice(0, -1) + "," + subtitle.style + "," + subtitle.name + "," + subtitle.marginL + "," + subtitle.marginR + "," + subtitle.marginV + "," + subtitle.effect + "," + subtitle.text) - } else if (!Object.values(playerData.tracks[trackNumber].cues).some(c => c.text == subtitle.text && c.startTime == subtitle.time / 1000 && c.endTime == (subtitle.time + subtitle.duration) / 1000)) { - let cue = new VTTCue(subtitle.time / 1000, (subtitle.time + subtitle.duration) / 1000, subtitle.text) - playerData.tracks[trackNumber].addCue(cue) - } - }) - parser.on('finish', () => { - playerData.subtitles = subtitles - renderSubs.call(null, playerData.selectedHeader) - let time = video.currentTime, - playState = !video.paused - video.src = url - video.currentTime = time - playState ? video.play() : "" - }); - file.createReadStream().pipe(parser) - } else { + }) + parser.on('subtitle', (subtitle, trackNumber) => { + if (playerData.headers) { + subtitles[trackNumber].push("Dialogue: " + subtitle.layer + "," + new Date(subtitle.time).toISOString().slice(12, -1).slice(0, -1) + "," + new Date(subtitle.time + subtitle.duration).toISOString().slice(12, -1).slice(0, -1) + "," + subtitle.style + "," + subtitle.name + "," + subtitle.marginL + "," + subtitle.marginR + "," + subtitle.marginV + "," + subtitle.effect + "," + subtitle.text) + } else if (!Object.values(playerData.tracks[trackNumber].cues).some(c => c.text == subtitle.text && c.startTime == subtitle.time / 1000 && c.endTime == (subtitle.time + subtitle.duration) / 1000)) { + let cue = new VTTCue(subtitle.time / 1000, (subtitle.time + subtitle.duration) / 1000, subtitle.text) + playerData.tracks[trackNumber].addCue(cue) + } + }) + parser.on('finish', () => { + playerData.subtitles = subtitles + renderSubs.call(null, playerData.selectedHeader) let time = video.currentTime, playState = !video.paused video.src = url video.currentTime = time playState ? video.play() : "" - } + }); + file.createReadStream().pipe(parser) + } else { + let time = video.currentTime, + playState = !video.paused + video.src = url + video.currentTime = time + playState ? video.play() : "" } } function onProgress() {