diff --git a/package.json b/package.json index c7041f99..efc4b1de 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "application-config": "^0.2.1", "bitfield": "^1.0.2", "chromecasts": "^1.8.0", - "concat-stream": "^1.5.1", "create-torrent": "^3.24.5", "deep-equal": "^1.0.1", "dlnacasts": "^0.1.0", @@ -34,6 +33,7 @@ "network-address": "^1.1.0", "prettier-bytes": "^1.0.1", "run-parallel": "^1.1.6", + "simple-concat": "^1.0.0", "simple-get": "^2.0.0", "srt-to-vtt": "^1.1.1", "virtual-dom": "^2.1.1", diff --git a/renderer/index.js b/renderer/index.js index 601bc0a7..1423da83 100644 --- a/renderer/index.js +++ b/renderer/index.js @@ -14,12 +14,12 @@ var ipcRenderer = electron.ipcRenderer setupIpc() var appConfig = require('application-config')('WebTorrent') -var parallel = require('run-parallel') -var concat = require('concat-stream') +var concat = require('simple-concat') var dragDrop = require('drag-drop') var fs = require('fs-extra') var iso639 = require('iso-639-1') var mainLoop = require('main-loop') +var parallel = require('run-parallel') var path = require('path') var createElement = require('virtual-dom/create-element') @@ -665,7 +665,12 @@ function loadSubtitle (file, cb) { // Read the .SRT or .VTT file, parse it, add subtitle track var filePath = file.path || file - fs.createReadStream(filePath).pipe(srtToVtt()).pipe(concat(function (buf) { + + var vttStream = fs.createReadStream(filePath).pipe(srtToVtt()) + + concat(vttStream, function (err, buf) { + if (err) return onError(new Error('Error parsing subtitles file.')) + // Detect what language the subtitles are in var vttContents = buf.toString().replace(/(.*-->.*)/g, '') var langDetected = (new LanguageDetect()).detect(vttContents, 2) @@ -684,7 +689,7 @@ function loadSubtitle (file, cb) { } cb(null, track) - })) + }) } function selectSubtitle (ix) {