X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.h;h=d1bf79519452113a49183e7539596f6c96600010;hb=a5746714e6ca1e665bf9e74344e67712443f947a;hp=5a3e203dc9dc0dd5f02c6eb2c100364313521291;hpb=4d4386716f258413132b8696315cb4efbf2c8b45;p=nageru diff --git a/mixer.h b/mixer.h index 5a3e203..d1bf795 100644 --- a/mixer.h +++ b/mixer.h @@ -421,6 +421,8 @@ public: theme->set_theme_menu_callback(callback); } + void wait_for_next_frame(); + private: struct CaptureCard; @@ -482,7 +484,10 @@ private: movit::YCbCrInput *display_input; int64_t pts_int = 0; // In TIMEBASE units. - unsigned frame_num = 0; + + mutable std::mutex frame_num_mutex; + std::condition_variable frame_num_updated; + unsigned frame_num = 0; // Under . // Accumulated errors in number of 1/TIMEBASE audio samples. If OUTPUT_FREQUENCY divided by // frame rate is integer, will always stay zero.