X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=main.cpp;h=e0518afb95421d3ad906cc9a910f2dee01aef9d0;hb=ce2e0615420b706e1ff2405fffcedfba37a9adac;hp=ba44577a124e46e71a13af98727423d851fc7763;hpb=6d593bb966f5deeef2084ac1beb706160bd8ac08;p=nageru diff --git a/main.cpp b/main.cpp index ba44577..e0518af 100644 --- a/main.cpp +++ b/main.cpp @@ -166,7 +166,12 @@ FrameOnDisk write_frame(int stream_idx, int64_t pts, const uint8_t *data, size_t } } } - db->store_frame_file(filename, size, frames_this_file); + + const char *basename = filename.c_str(); + while (strchr(basename, '/') != nullptr) { + basename = strchr(basename, '/'); + } + db->store_frame_file(basename, size, frames_this_file); } return frame; @@ -390,7 +395,7 @@ void load_existing_frames() break; } - if (de->d_type == DT_REG) { + if (de->d_type == DT_REG || de->d_type == DT_LNK) { string filename = frame_dir + "/" + de->d_name; frame_filenames.push_back(filename); frame_basenames.push_back(de->d_name); @@ -430,6 +435,8 @@ void load_existing_frames() sort(frames[stream_idx].begin(), frames[stream_idx].end(), [](const auto &a, const auto &b) { return a.pts < b.pts; }); } + + db.clean_unused_frame_files(frame_basenames); } int record_thread_func()