]> git.sesse.net Git - nageru/blob - frame_on_disk.h
Change from file-per-frame to multiple files per frame.
[nageru] / frame_on_disk.h
1 #ifndef _FRAME_ON_DISK_H
2 #define _FRAME_ON_DISK_H 1
3
4 #include <mutex>
5 #include <string>
6 #include <vector>
7
8 #include <stdint.h>
9
10 #include "defs.h"
11
12 extern std::mutex frame_mu;
13 struct FrameOnDisk {
14         int64_t pts = -1;  // -1 means empty.
15         off_t offset;
16         unsigned filename_idx;
17         uint32_t size;  // Not using size_t saves a few bytes; we can have so many frames.
18 };
19 extern std::vector<FrameOnDisk> frames[MAX_STREAMS];  // Under frame_mu.
20 extern std::vector<std::string> frame_filenames;  // Under frame_mu.
21
22 std::string read_frame(FrameOnDisk frame);
23
24 #endif  // !defined(_FRAME_ON_DISK_H)