From 7fbd62142e1b7d58e287cca28bd970d92e9993c8 Mon Sep 17 00:00:00 2001 From: Calvin Montgomery Date: Fri, 15 Dec 2017 19:10:32 -0800 Subject: [PATCH] Minor tweaks/fixes --- package.json | 2 +- src/ffmpeg.js | 13 ++++++++----- src/server.js | 8 +++++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 38336772..82ea2e7f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Calvin Montgomery", "name": "CyTube", "description": "Online media synchronizer and chat", - "version": "3.51.10", + "version": "3.51.11", "repository": { "url": "http://github.com/calzoneman/sync" }, diff --git a/src/ffmpeg.js b/src/ffmpeg.js index 4edf0235..7d2b8b8a 100644 --- a/src/ffmpeg.js +++ b/src/ffmpeg.js @@ -303,12 +303,15 @@ exports.ffprobe = function ffprobe(filename, cb) { var stdout = ""; var stderr = ""; var timer = setTimeout(function () { - LOGGER.error("Possible runaway ffprobe process for file " + filename); + LOGGER.warn("Timed out when probing " + filename); fflog("Killing ffprobe for " + filename + " after " + (TIMEOUT/1000) + " seconds"); - childErr = new Error("File query exceeded time limit of " + (TIMEOUT/1000) + - " seconds. To avoid this issue, encode your videos " + - "using the 'faststart' option: " + - "https://trac.ffmpeg.org/wiki/Encode/H.264#faststartforwebvideo"); + childErr = new Error( + "File query exceeded time limit of " + (TIMEOUT/1000) + + " seconds. This can be caused if the remote server is far " + + "away or if you did not encode the video " + + "using the 'faststart' option: " + + "https://trac.ffmpeg.org/wiki/Encode/H.264#faststartforwebvideo" + ); child.kill("SIGKILL"); }, TIMEOUT); diff --git a/src/server.js b/src/server.js index b885ce63..fbb7cf54 100644 --- a/src/server.js +++ b/src/server.js @@ -284,10 +284,12 @@ Server.prototype.getChannel = function (name) { }; Server.prototype.unloadChannel = function (chan, options) { - if (chan.dead) { + if (chan.dead || chan.dying) { return; } + chan.dying = true; + if (!options) { options = {}; } @@ -509,7 +511,7 @@ Server.prototype.handleChannelDelete = function (event) { u.kick('Channel deleted'); }); - if (!channel.dead) { + if (!channel.dead && !channel.dying) { channel.emit('empty'); } @@ -536,7 +538,7 @@ Server.prototype.handleChannelRegister = function (event) { u.kick('Channel reloading'); }); - if (!channel.dead) { + if (!channel.dead && !channel.dying) { channel.emit('empty'); }