MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ prepare_displays()

void MayaFlux::Kriya::BufferPipeline::prepare_displays ( )
private

Definition at line 318 of file BufferPipelineOperations.cpp.

319{
320 for (auto& op : m_operations) {
321 if (!op.m_render || op.m_display_attached || !op.m_target_graphics_stream) {
322 continue;
323 }
324
325 if (!m_io_manager) {
326 error<std::invalid_argument>(Journal::Component::Kriya,
328 std::source_location::current(),
329 "BufferPipeline has no IOManager to display a stream route");
330 }
331
332 auto display = m_io_manager->hook_video_container_to_buffer(op.m_target_graphics_stream);
333 if (!display) {
334 error<std::runtime_error>(Journal::Component::Kriya,
336 std::source_location::current(),
337 "Failed to hook the stream to a display buffer");
338 }
339
340 detail::ensure_rendering(display, *op.m_render);
341 op.m_display_attached = true;
342 }
343}
std::shared_ptr< IO::IOManager > m_io_manager
std::vector< BufferOperation > m_operations
@ CoroutineScheduling
Coroutine scheduling and temporal coordination (Vruta::TaskScheduler)
@ Kriya
Automatable tasks and fluent scheduling api for Nodes and Buffers.
bool ensure_rendering(const std::shared_ptr< Buffers::VKBuffer > &buffer, const Portal::Graphics::RenderConfig &config)
Make a buffer draw to the window in a render config, unless it already does.

References MayaFlux::Journal::CoroutineScheduling, MayaFlux::Kriya::detail::ensure_rendering(), MayaFlux::Journal::Kriya, m_io_manager, and m_operations.

Referenced by execute_frame_internal(), and execute_internal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: