X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fmixer.h;h=235dd8da3fba1bf1b9c4325f89c7bf0a6c11b130;hb=c9af508251685ef34a1d2cf42330ae6795dd91eb;hp=ff8a197bccdd61c6af9de3598f6239e6645553d5;hpb=0478d360a9aa0f816b21b0c6b1df91c1426c35d6;p=nageru diff --git a/nageru/mixer.h b/nageru/mixer.h index ff8a197..235dd8d 100644 --- a/nageru/mixer.h +++ b/nageru/mixer.h @@ -510,11 +510,19 @@ private: // frame rate is integer, will always stay zero. unsigned fractional_samples = 0; + // Monotonic counter that lets us know which slot was last turned into + // a fake capture. Used for SRT re-plugging. + unsigned fake_capture_counter = 0; + mutable std::mutex card_mutex; bool has_bmusb_thread = false; struct CaptureCard { std::unique_ptr capture; bool is_fake_capture; + // If is_fake_capture is true, contains a monotonic timer value for when + // it was last changed. Otherwise undefined. Used for SRT re-plugging. + int fake_capture_counter; + std::string last_srt_stream_id = ""; // Used for SRT re-plugging. CardType type; std::unique_ptr output;