diff --git a/writer.cpp b/writer.cpp index b732b47..045e15d 100644 --- a/writer.cpp +++ b/writer.cpp @@ -37,7 +37,7 @@ void Writer::run() { // Releases all pylon resources. // PylonTerminate(); // Return with error code 1. - emit writingDone(this->cam_number); + emit writingDone(); return; } qDebug() << "checks done!"; @@ -114,7 +114,12 @@ void Writer::run() { } } if (count < chunksize) { - stamps_buffer[count] = nix::util::timeToStr(img->timestamp()); + try { + stamps_buffer[count] = nix::util::timeToStr(img->timestamp()); + } catch (...) { + std::cerr << "Bad time to string conversion " << img->timestamp() << std::endl; + stamps_buffer[count] = "invalid"; + } ids_buffer[count] = img->index(); count ++; } else { @@ -138,11 +143,11 @@ void Writer::run() { frametimes.setData(nix::DataType::String, stamps_buffer.data(), chunk_shape, offset); frameindices.setData(nix::DataType::Int64, ids_buffer.data(), chunk_shape, offset); } - // videoWriter.Close(); + videoWriter.Close(); myFile.close(); nix_file.close(); } else { std::cerr << "Got no video specifications, not writing!" << std::endl; } - emit writingDone(cam_number); + emit writingDone(); } diff --git a/writer.h b/writer.h index 62db4bb..2d9e9ec 100644 --- a/writer.h +++ b/writer.h @@ -15,8 +15,8 @@ class Writer : public QThread { Q_OBJECT public: - explicit Writer(ImageBuffer*buffer, int number, QObject *parent = nullptr) : - QThread(parent), buffer(buffer), cam_number(number) {} + explicit Writer(ImageBuffer*buffer, QObject *parent = nullptr) : + QThread(parent), buffer(buffer) {} void setVideoSpecs(VideoSpecs specs); void setProjectMetadata(ProjectMetadata mdata); @@ -25,10 +25,9 @@ public: signals: void terminated(); - void writingDone(int cam); + void writingDone(); private: - int cam_number; ImageBuffer *buffer; VideoSpecs videoSpecs; ProjectMetadata metadata;