Generate name based on presence of zone. Add loading of zones and figuring out which one is ours.
parent
fb48c5f01c
commit
dd1d194ec7
|
@ -30,19 +30,36 @@
|
|||
#include <sys/shm.h>
|
||||
#endif // ZM_MEM_MAPPED
|
||||
|
||||
Monitor::MonitorLink::MonitorLink(unsigned int p_monitor_id, unsigned int p_zone_id, const char *p_name) :
|
||||
monitor_id(p_monitor_id),
|
||||
Monitor::MonitorLink::MonitorLink(std::shared_ptr<Monitor>p_monitor, unsigned int p_zone_id) :
|
||||
monitor(p_monitor),
|
||||
zone_id(p_zone_id),
|
||||
zone_index(-1),
|
||||
shared_data(nullptr),
|
||||
trigger_data(nullptr),
|
||||
video_store_data(nullptr),
|
||||
zone_scores(nullptr)
|
||||
{
|
||||
strncpy(name, p_name, sizeof(name)-1);
|
||||
name = monitor->Name();
|
||||
if (zone_id) {
|
||||
zones = Zone::Load(monitor);
|
||||
zone_index = 0;
|
||||
for (const Zone &z : zones) {
|
||||
if (z.Id() == zone_id) {
|
||||
zone = &z;
|
||||
break;
|
||||
}
|
||||
zone_index ++;
|
||||
}
|
||||
if (zone_index > zones.size()) {
|
||||
Error("Unable to find zone %u", zone_id);
|
||||
zone_index = -1;
|
||||
}
|
||||
}
|
||||
if (zone) name += " : " + zone->Name();
|
||||
|
||||
#if ZM_MEM_MAPPED
|
||||
map_fd = -1;
|
||||
mem_file = stringtf("%s/zm.mmap.%u", staticConfig.PATH_MAP.c_str(), monitor_id);
|
||||
mem_file = stringtf("%s/zm.mmap.%u", staticConfig.PATH_MAP.c_str(), monitor->Id());
|
||||
#else // ZM_MEM_MAPPED
|
||||
shm_id = 0;
|
||||
#endif // ZM_MEM_MAPPED
|
||||
|
@ -122,7 +139,7 @@ bool Monitor::MonitorLink::connect() {
|
|||
|
||||
shared_data = (SharedData *)mem_ptr;
|
||||
trigger_data = (TriggerData *)((char *)shared_data + sizeof(SharedData));
|
||||
zone_scores = (int *)(trigger_data + sizeof(TriggerData));
|
||||
zone_scores = (int *)((unsigned long)trigger_data + sizeof(TriggerData));
|
||||
|
||||
if (!shared_data->valid) {
|
||||
Debug(3, "Linked memory not initialised by capture daemon");
|
||||
|
|
Loading…
Reference in New Issue