Merge branch 'master' of github.com:ZoneMinder/zoneminder
commit
87e0a092b7
|
@ -1952,7 +1952,7 @@ bool Monitor::Analyse() {
|
||||||
Debug(4, "Triggered on ONVIF");
|
Debug(4, "Triggered on ONVIF");
|
||||||
Event::StringSet noteSet;
|
Event::StringSet noteSet;
|
||||||
noteSet.insert("ONVIF");
|
noteSet.insert("ONVIF");
|
||||||
noteSet.insert(onvif->lastTopic() + '/' + onvif->lastValue());
|
noteSet.insert(onvif->noteText());
|
||||||
noteSetMap[MOTION_CAUSE] = noteSet;
|
noteSetMap[MOTION_CAUSE] = noteSet;
|
||||||
cause += "ONVIF";
|
cause += "ONVIF";
|
||||||
// If the camera isn't going to send an event close, we need to close it here, but only after it has actually triggered an alarm.
|
// If the camera isn't going to send an event close, we need to close it here, but only after it has actually triggered an alarm.
|
||||||
|
|
|
@ -331,6 +331,7 @@ class Monitor : public std::enable_shared_from_this<Monitor> {
|
||||||
std::string last_value;
|
std::string last_value;
|
||||||
std::string last_active_topic;
|
std::string last_active_topic;
|
||||||
std::string last_active_value;
|
std::string last_active_value;
|
||||||
|
std::string GetNoteText();
|
||||||
#ifdef WITH_GSOAP
|
#ifdef WITH_GSOAP
|
||||||
struct soap *soap = nullptr;
|
struct soap *soap = nullptr;
|
||||||
_tev__CreatePullPointSubscription request;
|
_tev__CreatePullPointSubscription request;
|
||||||
|
@ -353,6 +354,7 @@ class Monitor : public std::enable_shared_from_this<Monitor> {
|
||||||
bool isHealthy() const { return healthy; };
|
bool isHealthy() const { return healthy; };
|
||||||
const std::string &lastTopic() const { return last_active_topic; };
|
const std::string &lastTopic() const { return last_active_topic; };
|
||||||
const std::string &lastValue() const { return last_active_value; };
|
const std::string &lastValue() const { return last_active_value; };
|
||||||
|
const std::string noteText() { return GetNoteText(); };
|
||||||
};
|
};
|
||||||
|
|
||||||
class AmcrestAPI {
|
class AmcrestAPI {
|
||||||
|
|
|
@ -285,3 +285,11 @@ int SOAP_ENV__Fault(struct soap *soap, char *faultcode, char *faultstring, char
|
||||||
return soap_send_empty_response(soap, SOAP_OK);
|
return soap_send_empty_response(soap, SOAP_OK);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
std::string Monitor::ONVIF::GetNoteText() {
|
||||||
|
std::string note = "";
|
||||||
|
#ifdef WITH_GSOAP
|
||||||
|
note = last_active_topic + "/" + last_active_value;
|
||||||
|
#endif
|
||||||
|
return note;
|
||||||
|
}
|
||||||
|
|
|
@ -248,6 +248,7 @@ void MonitorStream::processCommand(const CmdMsg *msg) {
|
||||||
bool enabled;
|
bool enabled;
|
||||||
bool forced;
|
bool forced;
|
||||||
int score;
|
int score;
|
||||||
|
int analysing;
|
||||||
} status_data;
|
} status_data;
|
||||||
|
|
||||||
status_data.id = monitor->Id();
|
status_data.id = monitor->Id();
|
||||||
|
@ -279,6 +280,7 @@ void MonitorStream::processCommand(const CmdMsg *msg) {
|
||||||
status_data.buffer_level = (MOD_ADD( (temp_write_index-temp_read_index), 0, temp_image_buffer_count )*100)/temp_image_buffer_count;
|
status_data.buffer_level = (MOD_ADD( (temp_write_index-temp_read_index), 0, temp_image_buffer_count )*100)/temp_image_buffer_count;
|
||||||
else
|
else
|
||||||
status_data.buffer_level = 0;
|
status_data.buffer_level = 0;
|
||||||
|
status_data.analysing = monitor->shared_data->analysing;
|
||||||
status_data.score = monitor->shared_data->last_frame_score;
|
status_data.score = monitor->shared_data->last_frame_score;
|
||||||
}
|
}
|
||||||
status_data.delayed = delayed;
|
status_data.delayed = delayed;
|
||||||
|
|
|
@ -1284,7 +1284,7 @@ var doubleTouch = function(e) {
|
||||||
};
|
};
|
||||||
|
|
||||||
function setButtonSizeOnStream() {
|
function setButtonSizeOnStream() {
|
||||||
const elStream = document.querySelectorAll('[id ^= "liveStream"], [id ^= "evtStream"]');
|
const elStream = document.querySelectorAll('[id ^= "liveStream"], [id ^= "evtStream"], [id = "videoobj"]');
|
||||||
Array.prototype.forEach.call(elStream, (el) => {
|
Array.prototype.forEach.call(elStream, (el) => {
|
||||||
//It is necessary to calculate the size for each Stream, because on the Montage page they can be of different sizes.
|
//It is necessary to calculate the size for each Stream, because on the Montage page they can be of different sizes.
|
||||||
const w = el.offsetWidth;
|
const w = el.offsetWidth;
|
||||||
|
|
Loading…
Reference in New Issue