X-Git-Url: https://git.sesse.net/?p=nageru;a=blobdiff_plain;f=nageru%2Fmixer.h;h=49afa7f1f2f7a0e1ce7254e05e0bef3b2b6f8027;hp=9aa375636722d0e6d06be47bc8ca90c232b04d9b;hb=6cf87ad853439f8565c575fb29dc539a15fdba87;hpb=0a338eed8f26adaf202e0cadc88b533ce9fa173d diff --git a/nageru/mixer.h b/nageru/mixer.h index 9aa3756..49afa7f 100644 --- a/nageru/mixer.h +++ b/nageru/mixer.h @@ -23,6 +23,7 @@ #include #include +#include #include #include "audio_mixer.h" @@ -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 {