75 std::thread
io = std::thread
An API for recording video.
Definition record.h:15
void queueFrame(std::vector< uint8_t > pixels)
Enqueue a frame to be written.
Definition record.h:45
uint8_t fps
Definition record.h:135
uint64_t framesLeft()
Number of frame left to be written in total.
Definition record.h:62
bool isOpen() const
If the file is open.
Definition record.h:106
std::vector< std::vector< uint8_t > > outBuffer
Definition record.h:139
uint8_t queueSize()
Number of frames yet to be sent for writing.
Definition record.h:55
std::filesystem::path file
Definition record.h:133
virtual void open()=0
Open the video file.
glm::ivec2 resolution
Definition record.h:134
virtual ~Record()
Definition record.h:31
bool finalise()
Check if finalised.
Definition record.h:114
Record(std::filesystem::path file, glm::ivec2 resolution, uint8_t fps)
Construct a new Record from a file path, resolution and fps.
Definition record.h:25
bool fileOpen
Definition record.h:136
void writeFrames()
Send the frames in the buffer for writing.
Definition record.h:69
bool isWriting() const
If the video is being written to in the background.
Definition record.h:98
bool writing
Definition record.h:137
std::vector< std::vector< uint8_t > > inBuffer
Definition record.h:139
void writeBuffer()
Definition record.h:143
virtual void close()=0
Close the video file.
virtual void write(const uint8_t *frame)=0
glm::vec< L, float, glm::qualifier::highp > vec
Definition commandLine.h:214