Code owners
Assign users and groups as approvers for specific file changes. Learn more.
record.h 907 B
#pragma once
#include "iprinter.h"
#include "typeDefinitions.h"
#include <QDir>
#include <chrono>
class QTimer;
class Record : public IPrinter
{
Q_OBJECT
public:
Record();
// Record(const Record&);
// ~Record();
void init(CamPtr);
void start(); //can use literals "1s, 1min"
void setDur(seconds);
seconds dur();
bool checkDir(QString dirPath="");
void checkDiskSpace(const QString &, seconds);
qint64 calcDirSize(const QDir &);
operator bool() const { return _cam != nullptr; }
QString dir() const { return _dir; }
public slots:
void stop();
QStringList stats();
void showProgressBar();
QString progressBar(int percentage=-1);
private:
bool write(QStringList, QString);
CamPtr _cam;
QTimer* _timer;
QTimer* _updateTimer;
seconds _dur;
QString _dir;
VmbInt64_t _payloadSize;
std::string _pixelFormat;
FramePtrVector _frames;
const seconds updateInterval = 2s;
};