From 7a0af0cac1c5f3a0c90d3d9ae0c56aa2fd369337 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 27 Apr 2022 17:45:55 -0400 Subject: [PATCH] Clear timers around changing img.src. Define statusCmdTime at the top. --- web/skins/classic/views/js/watch.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/web/skins/classic/views/js/watch.js b/web/skins/classic/views/js/watch.js index 4dfd9291a..6fc4a959a 100644 --- a/web/skins/classic/views/js/watch.js +++ b/web/skins/classic/views/js/watch.js @@ -1,4 +1,5 @@ var streamCmdTimer = null; +var statusCmdTimer = null; var streamStatus; var alarmState = STATE_IDLE; var lastAlarmState = STATE_IDLE; @@ -123,8 +124,11 @@ function changeScale() { streamImg.width(newWidth); streamImg.height(newHeight); if (newSrc != oldSrc) { + statusCmdTimer = clearTimeout(statusCmdTimer); streamCommand(CMD_QUIT); + streamImg.attr('src', ''); streamImg.attr('src', newSrc); + statusCmdTimer = setTimeout(statusCmdQuery, statusRefreshTimeout); } } else { console.error('No element found for liveStream'+monitorId); @@ -203,9 +207,7 @@ function getStreamCmdError(text, error) { function getStreamCmdResponse(respObj, respText) { watchdogOk('stream'); - if (streamCmdTimer) { - streamCmdTimer = clearTimeout(streamCmdTimer); - } + streamCmdTimer = clearTimeout(streamCmdTimer); if (respObj.result == 'Ok') { // The get status command can get backed up, in which case we won't be able to get the semaphore and will exit. if (respObj.status) { @@ -529,9 +531,7 @@ function streamCmdQuery() { function getStatusCmdResponse(respObj, respText) { watchdogOk('status'); - if (statusCmdTimer) { - statusCmdTimer = clearTimeout(statusCmdTimer); - } + statusCmdTimer = clearTimeout(statusCmdTimer); if (respObj.result == 'Ok') { $j('#fpsValue').text(respObj.monitor.FrameRate);