diff --git a/src/zm_event.cpp b/src/zm_event.cpp index b1f0890f0..d534306f4 100644 --- a/src/zm_event.cpp +++ b/src/zm_event.cpp @@ -52,6 +52,7 @@ Event::Event( ) : id(0), monitor(p_monitor), + storage(nullptr), packetqueue_it(p_packetqueue_it), start_time(p_start_time), end_time(p_start_time), @@ -113,7 +114,7 @@ Event::Event( // Copy it in case opening the mp4 doesn't work we can set it to another value save_jpegs = monitor->GetOptSaveJPEGs(); - Storage *storage = monitor->getStorage(); + storage = monitor->getStorage(); if (monitor->GetOptVideoWriter() != 0) { container = monitor->OutputContainer(); if (container == "auto" || container == "") { @@ -259,6 +260,11 @@ Event::~Event() { id); zmDbDoUpdate(sql); } // end if no changed rows due to Name change during recording + + if (storage && storage->Id()) { + sql = stringtf("UPDATE Storage SET DiskSpace = DiskSpace + %" PRIu64 " WHERE Id=%u", video_size, storage->Id()); + zmDbDoUpdate(sql); + } } // Event::~Event() void Event::createNotes(std::string ¬es) { diff --git a/src/zm_event.h b/src/zm_event.h index aa467c02b..3034638f4 100644 --- a/src/zm_event.h +++ b/src/zm_event.h @@ -79,6 +79,7 @@ class Event { uint64_t id; Monitor *monitor; + Storage *storage; PacketQueue * packetqueue; packetqueue_iterator * packetqueue_it; SystemTimePoint start_time;