summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/js/MontageCtrl.js22
-rw-r--r--www/js/NVR.js8
-rw-r--r--www/lang/locale-en.json2
-rw-r--r--www/templates/devoptions.html9
4 files changed, 34 insertions, 7 deletions
diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js
index 9abbcd03..d9bfd19b 100644
--- a/www/js/MontageCtrl.js
+++ b/www/js/MontageCtrl.js
@@ -1276,11 +1276,16 @@ angular.module('zmApp.controllers')
if (simulStreaming) {
- NVR.debug("Pausing all streams in montage to save memory/nw...");
+ var ld = NVR.getLogin();
+ if (ld.pauseStreams) {
+ NVR.debug("Pausing all streams in montage to save memory/nw...");
+ for (var i = 0; i < $scope.MontageMonitors.length; i++) {
+ if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVR.pauseLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name);
+ }
- for (var i = 0; i < $scope.MontageMonitors.length; i++) {
- if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVR.pauseLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name);
+ } else {
+ NVR.debug ("Not pausing streams as pauseStreams is off");
}
}
@@ -1419,11 +1424,16 @@ angular.module('zmApp.controllers')
// once regenerated
if (simulStreaming) {
- NVR.debug("Resuming all stream connkeys in montage ...");
+ if (ld.pauseStreams) {
+ NVR.debug("Resuming all stream connkeys in montage ...");
- for (var i = 0; i < $scope.MontageMonitors.length; i++) {
- if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVR.resumeLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name);
+ for (var i = 0; i < $scope.MontageMonitors.length; i++) {
+ if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVR.resumeLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name);
+ }
+ } else {
+ NVR.debug ("Not resuming streams as pauseStreams is off");
}
+
}
diff --git a/www/js/NVR.js b/www/js/NVR.js
index 0d1a9bd2..fed774f4 100644
--- a/www/js/NVR.js
+++ b/www/js/NVR.js
@@ -207,7 +207,8 @@ angular.module('zmApp.controllers')
'refreshToken': '',
'isKiosk': false,
'kioskPassword': '',
- 'useHTTPCaching': true
+ 'useHTTPCaching': true,
+ 'pauseStreams': false,
};
@@ -1590,6 +1591,11 @@ angular.module('zmApp.controllers')
}
+ if (typeof loginData.pauseStreams == 'undefined') {
+ loginData.pauseStreams = false;
+
+ }
+
loginData.canSwipeMonitors = true;
loginData.forceImageModePath = false;
loginData.enableBlog = true;
diff --git a/www/lang/locale-en.json b/www/lang/locale-en.json
index e4774cb3..d4b48150 100644
--- a/www/lang/locale-en.json
+++ b/www/lang/locale-en.json
@@ -283,6 +283,8 @@
"kPathToCgiExample" :"e.g. server/zm/cgi-bin",
"kPause" :"pause",
"kPaused" :"paused",
+ "kPauseStreams" : "pause/resume streams to save bandwidth",
+ "kPauseStreamsNote" : "only applies if multi-port is used",
"kPinProtect" :"PIN Protect",
"kPlaceHolderBasicAuthPass" :"basic auth password",
"kPlaceHolderBasicAuthUser" :"basic auth user name",
diff --git a/www/templates/devoptions.html b/www/templates/devoptions.html
index bd8d6e3b..58dec1fc 100644
--- a/www/templates/devoptions.html
+++ b/www/templates/devoptions.html
@@ -236,6 +236,15 @@
</label>
<label>
+ <ion-toggle ng-model="loginData.pauseStreams" toggle-class="toggle-calm">
+ <span class="item-text-wrap">{{'kPauseStreams' | translate}}
+ <p> {{'kPauseStreamsNote' | translate}}</p>
+ </span>
+
+ </ion-toggle>
+ </label>
+
+ <label>
<ion-toggle ng-model="loginData.enableLogs" toggle-class="toggle-calm">
<span class="item-text-wrap">{{'kEnableLogs' | translate}}</span>
</ion-toggle>