]> git.sesse.net Git - nageru/blobdiff - futatabi/main.cpp
Various fixes for 32-bit platforms.
[nageru] / futatabi / main.cpp
index 9585dd4e4b3180201cd8d210187d4cf697114724..6dc50649c2c22d723f3e01b46686e95c694e844f 100644 (file)
@@ -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;
        }