]> git.sesse.net Git - nageru/blobdiff - nageru/ffmpeg_capture.h
Remove an informational message that has no value to the user.
[nageru] / nageru / ffmpeg_capture.h
index 1fc8f7128f516d6b4d06431b3049256f7bbdf7f7..1fcd82b10d9182ad6e57f63ad53e714f5900623b 100644 (file)
@@ -159,9 +159,13 @@ public:
                        std::placeholders::_11);
        }
 
-       // FFmpegCapture-specific callback that gives the raw audio.
-       typedef std::function<void(const AVPacket *pkt, const AVRational timebase)> audio_callback_t;
-       void set_audio_callback(audio_callback_t callback)
+       // FFmpegCapture-specific callback that gives the raw audio/video.
+       typedef std::function<void(const AVPacket *pkt, const AVRational timebase)> packet_callback_t;
+       void set_video_callback(packet_callback_t callback)
+       {
+               video_callback = callback;
+       }
+       void set_audio_callback(packet_callback_t callback)
        {
                audio_callback = callback;
        }
@@ -284,6 +288,10 @@ private:
        std::atomic<bool> should_interrupt{false};
        bool last_frame_was_connected = true;
 
+       // TODO: Replace with std::optional if we go C++17.
+       bool frame_timeout_valid = false;  // If true, will time out any reads after ten seconds.
+       std::chrono::steady_clock::time_point frame_timeout_started;  // Only relevant if frame_timeout_valid == true.
+
        bool has_dequeue_callbacks = false;
        std::function<void()> dequeue_init_callback = nullptr;
        std::function<void()> dequeue_cleanup_callback = nullptr;
@@ -297,7 +305,8 @@ private:
        std::unique_ptr<bmusb::FrameAllocator> owned_video_frame_allocator;
        std::unique_ptr<bmusb::FrameAllocator> owned_audio_frame_allocator;
        frame_callback_t frame_callback = nullptr;
-       audio_callback_t audio_callback = nullptr;
+       packet_callback_t video_callback = nullptr;
+       packet_callback_t audio_callback = nullptr;
 
        SwsContextWithDeleter sws_ctx;
        int sws_last_width = -1, sws_last_height = -1, sws_last_src_format = -1;