Skip to content
Snippets Groups Projects
Select Git revision
  • c899c11e98a2d5ffc5fa3535f13666af9012899d
  • master default protected
  • cali
  • dev protected
4 results

record.h

Blame
  • user avatar
    am0ebe authored
    fix errors. create rec dir on startRecord with time for multiple recs on same day with same cam. also writeout stats along with rec.
    c899c11e
    History
    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;
    
    
    };