X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fmain.cpp;h=6dc50649c2c22d723f3e01b46686e95c694e844f;hb=3630741c0d8c1d73fb7d888e1eb772e53f117105;hp=9585dd4e4b3180201cd8d210187d4cf697114724;hpb=5435b5bc0a8d324d8eef9b9fc9952b5245b25a3f;p=nageru diff --git a/futatabi/main.cpp b/futatabi/main.cpp index 9585dd4..6dc5064 100644 --- a/futatabi/main.cpp +++ b/futatabi/main.cpp @@ -79,7 +79,7 @@ FrameOnDisk write_frame(int stream_idx, int64_t pts, const uint8_t *data, size_t { if (open_frame_files.count(stream_idx) == 0) { char filename[256]; - snprintf(filename, sizeof(filename), "%s/frames/cam%d-pts%09ld.frames", + snprintf(filename, sizeof(filename), "%s/frames/cam%d-pts%09" PRId64 ".frames", global_flags.working_directory.c_str(), stream_idx, pts); FILE *fp = fopen(filename, "wb"); if (fp == nullptr) { @@ -275,7 +275,6 @@ int main(int argc, char **argv) should_quit = true; record_thread.join(); - JPEGFrameView::shutdown(); return ret; } @@ -535,8 +534,10 @@ void record_thread_func() current_pts = pts; } - fprintf(stderr, "%s: Hit EOF. Waiting one second and trying again...\n", global_flags.stream_source.c_str()); - sleep(1); + if (!should_quit.load()) { + fprintf(stderr, "%s: Hit EOF. Waiting one second and trying again...\n", global_flags.stream_source.c_str()); + sleep(1); + } start_pts = last_pts + TIMEBASE; }