43 explicit VideoStreamReader(
const std::shared_ptr<Kakshya::StreamContainer>& container);
54 void processing_function(
const std::shared_ptr<Buffer>& buffer)
override;
64 void on_attach(
const std::shared_ptr<Buffer>& buffer)
override;
73 void on_detach(
const std::shared_ptr<Buffer>& buffer)
override;
79 void set_container(
const std::shared_ptr<Kakshya::StreamContainer>& container);
85 std::shared_ptr<Kakshya::StreamContainer>
get_container()
const {
return m_container; }
106 uint32_t m_reader_id {};
107 bool m_update_flags {
true };
113 void extract_frame_data(
const std::shared_ptr<TextureBuffer>& texture_buffer);
124 void on_container_state_change(
const std::shared_ptr<Kakshya::SignalSourceContainer>& container,
175 const std::shared_ptr<Kakshya::StreamContainer>& container,
192 [[nodiscard]] std::shared_ptr<Kakshya::StreamContainer>
get_container()
const {
return m_container; }
203 void set_container(
const std::shared_ptr<Kakshya::StreamContainer>& container);
209 [[nodiscard]] std::shared_ptr<VideoStreamReader>
get_video_reader()
const {
return m_video_reader; }
Central computational transformation interface for continuous buffer processing.
A hybrid buffer managing both a textured quad geometry and its pixel data.
std::shared_ptr< Kakshya::StreamContainer > m_container
std::shared_ptr< Kakshya::StreamContainer > get_container() const
Get the backing video container.
std::shared_ptr< VideoStreamReader > get_video_reader() const
Get the VideoStreamReader processor.
~VideoContainerBuffer() override=default
std::shared_ptr< VideoStreamReader > m_video_reader
TextureBuffer implementation backed by a VideoStreamContainer.
bool get_update_flags() const
Get the current state flag update setting.
std::shared_ptr< Kakshya::StreamContainer > get_container() const
Get the backing container.
std::shared_ptr< Kakshya::StreamContainer > m_container
void set_update_flags(bool update)
Enable or disable automatic buffer state flag updates.
Adapter bridging VideoStreamContainer processed data to TextureBuffer pixel storage.
ProcessingToken
Bitfield enum defining processing characteristics and backend requirements for buffer operations.
ProcessingState
Represents the current processing lifecycle state of a container.
ImageFormat
User-friendly image format enum.