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

◆ setup_processors()

void MayaFlux::Buffers::VideoContainerBuffer::setup_processors ( ProcessingToken  token)
overridevirtual

Override to wire VideoStreamReader as default and TextureProcessor as preprocessor.

Parameters
tokenProcessing token (typically GRAPHICS_BACKEND).

Reimplemented from MayaFlux::Buffers::TextureBuffer.

Definition at line 224 of file VideoContainerBuffer.cpp.

225{
226 auto self = std::dynamic_pointer_cast<VideoContainerBuffer>(shared_from_this());
227
228 m_video_reader = std::make_shared<VideoStreamReader>(m_container);
229 m_video_reader->set_processing_token(token);
232
233 auto texture_proc = std::make_shared<TextureProcessor>();
234 texture_proc->set_streaming_mode(true);
235 texture_proc->set_processing_token(token);
236 set_texture_processor(texture_proc);
237
238 auto chain = get_processing_chain();
239 if (!chain) {
240 chain = std::make_shared<BufferProcessingChain>();
242 }
243 chain->set_preferred_token(token);
244 chain->add_preprocessor(texture_proc, self);
245
247 "VideoContainerBuffer setup_processors: VideoStreamReader as default, "
248 "TextureProcessor as preprocessor");
249}
#define MF_INFO(comp, ctx,...)
void set_texture_processor(const std::shared_ptr< TextureProcessor > &processor)
Allow inherited classes to set the TextureProcessor directly.
std::shared_ptr< Buffers::BufferProcessingChain > get_processing_chain() override
Access the buffer's processing chain.
Definition VKBuffer.cpp:274
void set_default_processor(const std::shared_ptr< BufferProcessor > &processor) override
Set the buffer's default processor.
Definition VKBuffer.cpp:258
void set_processing_chain(const std::shared_ptr< BufferProcessingChain > &chain, bool force=false) override
Replace the buffer's processing chain.
Definition VKBuffer.cpp:279
void enforce_default_processing(bool should_process) override
Controls whether the buffer should use default processing.
Definition VKBuffer.hpp:200
std::shared_ptr< Kakshya::StreamContainer > m_container
std::shared_ptr< VideoStreamReader > m_video_reader
@ Init
Engine/subsystem initialization.
@ Buffers
Buffers, Managers, processors and processing chains.

References MayaFlux::Journal::Buffers, MayaFlux::Buffers::VKBuffer::enforce_default_processing(), MayaFlux::Buffers::VKBuffer::get_processing_chain(), MayaFlux::Journal::Init, m_container, m_video_reader, MF_INFO, MayaFlux::Buffers::VKBuffer::set_default_processor(), MayaFlux::Buffers::VKBuffer::set_processing_chain(), and MayaFlux::Buffers::TextureBuffer::set_texture_processor().

+ Here is the call graph for this function: