]> git.sesse.net Git - nageru/blobdiff - ffmpeg_capture.h
Make some more sleeps interruptable.
[nageru] / ffmpeg_capture.h
index 3787bd7a468408de6a573ed9f91b6d94e260aa9f..24e6b5b40d3f9b780e71facdb7fb0dc347e5723c 100644 (file)
@@ -19,7 +19,6 @@
 //
 // There is currently no audio support. There is also no support for changing
 // the video underway (unlike images), although there really should be.
-// Finally, there is currently no support for controlling the video from Lua.
 
 #include <assert.h>
 #include <stdint.h>
@@ -32,6 +31,7 @@
 #include <thread>
 
 #include "bmusb/bmusb.h"
+#include "quittable_sleeper.h"
 
 class FFmpegCapture : public bmusb::CaptureInterface
 {
@@ -158,7 +158,7 @@ private:
        std::unique_ptr<bmusb::FrameAllocator> owned_audio_frame_allocator;
        bmusb::frame_callback_t frame_callback = nullptr;
 
-       std::atomic<bool> producer_thread_should_quit{false};
+       QuittableSleeper producer_thread_should_quit;
        std::thread producer_thread;
 
        std::mutex queue_mu;