X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fmixer.h;h=61db4a5c30857b06728d8dee0810a6caf3a06df1;hb=0490c42536a845dd6d718a7c58cfb3e3ab02b1ab;hp=9aa375636722d0e6d06be47bc8ca90c232b04d9b;hpb=948d715655a84b93d8292e64731ea3c32b45deb7;p=nageru diff --git a/nageru/mixer.h b/nageru/mixer.h index 9aa3756..61db4a5 100644 --- a/nageru/mixer.h +++ b/nageru/mixer.h @@ -23,6 +23,7 @@ #include #include +#include #include #include "audio_mixer.h" @@ -250,14 +251,14 @@ public: return theme->get_channel_color(channel); } - int get_channel_signal(unsigned channel) const + int map_channel_to_signal(unsigned channel) const { - return theme->get_channel_signal(channel); + return theme->map_channel_to_signal(channel); } - int map_signal(unsigned channel) + int map_signal_to_card(int signal) { - return theme->map_signal(channel); + return theme->map_signal_to_card(signal); } unsigned get_master_clock() const @@ -537,6 +538,7 @@ private: std::function upload_func; // Needs to be called to actually upload the texture to OpenGL. unsigned dropped_frames = 0; // Number of dropped frames before this one. std::chrono::steady_clock::time_point received_timestamp = std::chrono::steady_clock::time_point::min(); + movit::RGBTriplet neutral_color{1.0f, 1.0f, 1.0f}; // Used for MJPEG encoding. (upload_func packs everything it needs // into the functor, but would otherwise also use these.) @@ -575,6 +577,7 @@ private: JitterHistory output_jitter_history; CaptureCard cards[MAX_VIDEO_CARDS]; // Protected by . YCbCrInterpretation ycbcr_interpretation[MAX_VIDEO_CARDS]; // Protected by . + movit::RGBTriplet last_received_neutral_color[MAX_VIDEO_CARDS]; // Used by the mixer thread only. Constructor-initialiezd. std::unique_ptr audio_mixer; // Same as global_audio_mixer (see audio_mixer.h). bool input_card_is_master_clock(unsigned card_index, unsigned master_card_index) const; struct OutputFrameInfo {