{ \r
executor_.begin_invoke([=]\r
{ \r
- diag_->update_value("frame-time", static_cast<float>(perf_timer_.elapsed()/format_desc_.interval*0.5));\r
perf_timer_.reset();\r
\r
- auto image = mix_image(frames);\r
+ auto image_future = mix_image(frames);\r
auto audio = mix_audio(frames);\r
- output_(make_safe<const gpu_read_frame>(std::move(image.get()), std::move(audio)));\r
+ auto image = image_future.get();\r
+\r
+ diag_->update_value("frame-time", static_cast<float>(perf_timer_.elapsed()/format_desc_.interval*0.5));\r
+\r
+ output_(make_safe<const gpu_read_frame>(std::move(image), std::move(audio)));\r
\r
diag_->update_value("tick-time", static_cast<float>(wait_perf_timer_.elapsed()/format_desc_.interval*0.5));\r
wait_perf_timer_.reset();\r
<channel>\r
<videomode>1080i5000</videomode>\r
<consumers>\r
- <!--decklink>\r
+ <decklink>\r
<device>1</device>\r
<embedded-audio>true</embedded-audio>\r
<internal-key>false</internal-key>\r
- </decklink-->\r
- <ogl>\r
+ </decklink>\r
+ <!--ogl>\r
<device>1</device>\r
<stretch>uniform</stretch>\r
<windowed>true</windowed>\r
</ogl>\r
- <audio/>\r
+ <audio/-->\r
<!--<bluefish>\r
<device>1</device>\r
<embedded-audio>false</embedded-audio>\r