]> git.sesse.net Git - nageru/blobdiff - nageru/ffmpeg_capture.h
Export SRT statistics as Prometheus metrics.
[nageru] / nageru / ffmpeg_capture.h
index 685191a1f28bf9f463773fccb9abe3858c46b86d..4cddbfddf757bce77a1f49b6c21b52bd7b57675b 100644 (file)
@@ -213,6 +213,7 @@ public:
        void start_bm_capture() override;
        void stop_dequeue_thread() override;
        bool get_disconnected() const override { return disconnected; }  // Only if play_once == true.
+       int get_srt_sock() const { return srt_sock; }
 
        std::map<uint32_t, bmusb::VideoMode> get_available_video_modes() const override;
        void set_video_mode(uint32_t video_mode_id) override {}  // Ignore.
@@ -266,11 +267,14 @@ private:
        int read_srt(uint8_t *buf, int buf_size);
 #endif
 
+       inline unsigned frame_width(const AVFrame *frame) const;
+       inline unsigned frame_height(const AVFrame *frame) const;
+
        mutable std::mutex filename_mu;
        std::string description, filename;
        int srt_sock = -1;
        uint16_t timecode = 0;
-       unsigned width, height;
+       unsigned width, height;  // 0 means keep input size.
        bmusb::PixelFormat pixel_format = bmusb::PixelFormat_8BitBGRA;
        movit::YCbCrFormat current_frame_ycbcr_format;
        bool running = false;