summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.xml2
-rw-r--r--package.json4
-rw-r--r--www/js/EventCtrl.js8
-rw-r--r--www/js/MomentCtrl.js2
-rw-r--r--www/js/MonitorModalCtrl.js11
-rw-r--r--www/js/MontageCtrl.js2
-rw-r--r--www/js/NVR.js13
-rw-r--r--www/lang/locale-en.json1
-rw-r--r--www/templates/devoptions.html7
9 files changed, 37 insertions, 13 deletions
diff --git a/config.xml b/config.xml
index e9bc0079..42591dba 100644
--- a/config.xml
+++ b/config.xml
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
-<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninja_pro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.3.084" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninja_pro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.3.085" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>zmNinja</name>
<description>
High performance ZoneMinder client
diff --git a/package.json b/package.json
index b142f8b5..09bb7baa 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "zmninjapro",
"description": "Home security mobile app for ZoneMinder",
- "version": "1.3.083",
+ "version":"1.3.085",
"displayName": "zmNinja",
"author": "Pliable Pixels",
"license": "custom see LICENSE.md",
@@ -192,4 +192,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js
index 71c973fb..967c80d0 100644
--- a/www/js/EventCtrl.js
+++ b/www/js/EventCtrl.js
@@ -509,6 +509,8 @@ angular.module('zmApp.controllers')
var mw = parseInt(tempMon.Monitor.Width);
var mh = parseInt(tempMon.Monitor.Height);
+
+
var mo = parseInt(tempMon.Monitor.Orientation);
myevents[i].Event.Rotation = '';
@@ -2854,8 +2856,6 @@ angular.module('zmApp.controllers')
var tempMon = NVR.getMonitorObject(myevents[i].Event.MonitorId);
if (tempMon != undefined) {
-
-
var mw = parseInt(tempMon.Monitor.Width);
var mh = parseInt(tempMon.Monitor.Height);
var mo = parseInt(tempMon.Monitor.Orientation);
@@ -2926,6 +2926,8 @@ angular.module('zmApp.controllers')
function computeThumbnailSize(mw, mh, mo) {
+
+
tw = Math.min(Math.round(0.35 * $rootScope.devWidth), 200);
th = 150;
@@ -2935,7 +2937,7 @@ angular.module('zmApp.controllers')
h: 0
};
-
+
/* seems I really should be using strings due to horz and very
but luckily parseInt will make them 0 which gets treated as "nothing to do"
'0' => translate('Normal'),
diff --git a/www/js/MomentCtrl.js b/www/js/MomentCtrl.js
index c53974a3..915722dd 100644
--- a/www/js/MomentCtrl.js
+++ b/www/js/MomentCtrl.js
@@ -212,6 +212,8 @@ var masonry = null;
for (var i = 0; i < monitors.length; i++) {
if (mid == monitors[i].Monitor.Id) {
+
+
return {
width: monitors[i].Monitor.Width,
height: monitors[i].Monitor.Height,
diff --git a/www/js/MonitorModalCtrl.js b/www/js/MonitorModalCtrl.js
index 19117627..14eb4429 100644
--- a/www/js/MonitorModalCtrl.js
+++ b/www/js/MonitorModalCtrl.js
@@ -1278,24 +1278,26 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
$scope.constructSingleStream = function () {
+ var ld = NVR.getLogin();
var scale = (currentStreamState == streamState.SNAPSHOT_LOWQUALITY) ? '10':$scope.quality;
var stream;
- var fps = NVR.getLogin().singleliveFPS;
+ var fps =ld.singleliveFPS;
stream = $scope.monitor.Monitor.streamingURL +
"/nph-zms?mode=" + getSingleStreamMode() +
"&monitor=" + $scope.monitorId +
- "&scale=" + scale +
- '&buffer=1000';
+ "&scale=" + scale;
if (fps) {
stream +='&maxfps='+fps;
}
stream += $rootScope.authSession +
- "&rand=" + $rootScope.modalRand +
appendSingleStreamConnKey();
+ if (currentStreamState != streamState.SNAPSHOT_LOWQUALITY)
+ stream += "&rand=" + $rootScope.modalRand + "&buffer="+ld.liveStreamBuffer;
+
//console.log ("STREAM="+stream);
if (stream) stream += NVR.insertBasicAuthToken();
@@ -1306,6 +1308,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
function getSingleStreamMode() {
+ if (currentStreamState == streamState.SNAPSHOT_LOWQUALITY) return 'single';
return $scope.isModalStreamPaused ? 'single' : 'jpeg';
}
diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js
index d01628c3..f03677b7 100644
--- a/www/js/MontageCtrl.js
+++ b/www/js/MontageCtrl.js
@@ -2070,7 +2070,7 @@ angular.module('zmApp.controllers')
"/nph-zms?mode=" + getMode() +
"&monitor=" + monitor.Monitor.Id +
"&scale=" + $scope.LoginData.montageQuality +
- "&buffer=1000"+
+ "&buffer="+ $scope.LoginData.liveStreamBuffer +
"&rand=" + randToAvoidCacheMem + monitor.Monitor.Id;
if (fps) {
diff --git a/www/js/NVR.js b/www/js/NVR.js
index 77fd91ab..36ddf880 100644
--- a/www/js/NVR.js
+++ b/www/js/NVR.js
@@ -21,7 +21,7 @@ angular.module('zmApp.controllers')
DO NOT TOUCH zmAppVersion
It is changed by sync_version.sh
*/
- var zmAppVersion = "1.3.083";
+ var zmAppVersion = "1.3.085";
var zmAPIVersion = null;
var isBackground = false;
var justResumed = false;
@@ -209,6 +209,7 @@ angular.module('zmApp.controllers')
'kioskPassword': '',
'useAPICaching': true,
'pauseStreams': false,
+ 'liveStreamBuffer': 100,
};
@@ -1597,9 +1598,14 @@ angular.module('zmApp.controllers')
}
+ if (typeof loginData.liveStreamBuffer == 'undefined') {
+ loginData.liveStreamBuffer = 100;
+ }
+
loginData.canSwipeMonitors = true;
loginData.forceImageModePath = false;
loginData.enableBlog = true;
+ loginData.pauseStreams = false;
}
@@ -2772,7 +2778,8 @@ angular.module('zmApp.controllers')
for (var i = 0; i < monitors.length; i++) {
- // make them all show for now
+ // zm 1.33.15 prefixes 'ROTATE_' to orientation
+ monitors[i].Monitor.Orientation = monitors[i].Monitor.Orientation.replace('ROTATE_','');
var recordingType = '';
if (monitors[i].Monitor.SaveJPEGs > 0) {
@@ -2954,6 +2961,8 @@ angular.module('zmApp.controllers')
for (var i = 0; i < monitors.length; i++) {
//monitors[i].Monitor.listDisplay = 'show';
+ // zm 1.33.15 prefixes 'ROTATE_' to orientation
+ monitors[i].Monitor.Orientation = monitors[i].Monitor.Orientation.replace('ROTATE_','');
monitors[i].Monitor.isAlarmed = false;
monitors[i].Monitor.connKey = (Math.floor((Math.random() * 999999) + 1)).toString();
monitors[i].Monitor.rndKey = (Math.floor((Math.random() * 999999) + 1)).toString();
diff --git a/www/lang/locale-en.json b/www/lang/locale-en.json
index 6a62a389..53649c3f 100644
--- a/www/lang/locale-en.json
+++ b/www/lang/locale-en.json
@@ -177,6 +177,7 @@
"kKioskPasswordConfirm" :"re-confirm kiosk unlock password",
"kLanguage" :"Language",
"kLatestEvents" :"latest events",
+ "kLiveStreamBuffer" :"Live stream buffer",
"kLiveView" :"Live View",
"kLoad" :"load",
"kLoading" :"loading",
diff --git a/www/templates/devoptions.html b/www/templates/devoptions.html
index 718000fc..b89cd7f7 100644
--- a/www/templates/devoptions.html
+++ b/www/templates/devoptions.html
@@ -39,6 +39,13 @@
</div>
+ <div class="item item-input-inset item-text-wrap">
+ {{'kLiveStreamBuffer'|translate}}
+ <label class="item-input-wrapper">
+ <input id="devoptions-move-3_1" type="tel" ng-model="loginData.liveStreamBuffer">
+ </label>
+ </div>
+
<label>
<ion-toggle id="devoptions-move-4" ng-model="loginData.use24hr" toggle-class="toggle-calm">