]> git.sesse.net Git - nageru/blobdiff - nageru/video_encoder.h
IWYU-fix nageru/*.h.
[nageru] / nageru / video_encoder.h
index 86badf2a9a189fa708789045273f576336225e5e..6301f50d3d7274283b22dc942882a9ee58ba697b 100644 (file)
@@ -6,6 +6,7 @@
 #define _VIDEO_ENCODER_H
 
 #include <epoxy/gl.h>
+#include <epoxy/gl_generated.h>
 #include <movit/image_format.h>
 #include <stdbool.h>
 #include <stdint.h>
@@ -24,6 +25,7 @@ extern "C" {
 
 #include "shared/mux.h"
 #include "shared/ref_counted_gl_sync.h"
+#include "srt_metrics.h"
 
 class AudioEncoder;
 class AV1Encoder;
@@ -112,9 +114,13 @@ private:
        std::string http_mux_header;
        MuxMetrics http_mux_metrics;
        MuxMetrics srt_mux_metrics;
+       SRTMetrics srt_metrics;
+       std::atomic<int64_t> metric_srt_num_connection_attempts{0};
+       std::atomic<bool> want_srt_metric_update{true};  // Is nominally set every frame. Some racing is OK (this is mainly a rate-limiter).
 
        std::atomic<int> quicksync_encoders_in_shutdown{0};
        std::atomic<int> overriding_bitrate{0};
+       std::atomic<bool> should_quit{false};
 
        // Encoders that are shutdown, but need to call release_gl_resources()
        // (or be deleted) from some thread with an OpenGL context.