X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=x264_encoder.h;h=bb9f1dc066dd43b0b544b744452a1c93251a56da;hb=b85c1986b7ea63534899e2eb589f9e0888d5ccda;hp=ef118c6f4410d7e3554aad2a4e8354d6875e1c0b;hpb=42c5230911f90f48b0fb428805c3e51a9a5a81d3;p=nageru diff --git a/x264_encoder.h b/x264_encoder.h index ef118c6..bb9f1dc 100644 --- a/x264_encoder.h +++ b/x264_encoder.h @@ -50,6 +50,10 @@ public: std::string get_global_headers() const { return global_headers; } + void change_bitrate(unsigned rate_kbit) { + new_bitrate_kbit = rate_kbit; + } + private: struct QueuedFrame { int64_t pts, duration; @@ -75,6 +79,8 @@ private: x264_t *x264; std::unique_ptr speed_control; + std::atomic new_bitrate_kbit{0}; // 0 for no change. + // Protects everything below it. std::mutex mu;