MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Buffers::FinalLimiterProcessor Class Reference

Processor that enforces boundary conditions on output data. More...

#include <RootAudioBuffer.hpp>

+ Inheritance diagram for MayaFlux::Buffers::FinalLimiterProcessor:
+ Collaboration diagram for MayaFlux::Buffers::FinalLimiterProcessor:

Public Member Functions

 FinalLimiterProcessor ()
 Creates a new final limiter processor.
 
void processing_function (std::shared_ptr< Buffer > buffer) override
 Processes a buffer by enforcing boundary conditions.
 
void on_attach (std::shared_ptr< Buffer > buffer) override
 Called when processor is attached to a buffer.
 
bool is_compatible_with (std::shared_ptr< Buffer > buffer) const override
 Checks compatibility with a specific buffer type.
 
- Public Member Functions inherited from MayaFlux::Buffers::BufferProcessor
virtual ~BufferProcessor ()=default
 Virtual destructor for proper cleanup of derived classes.
 
void process (std::shared_ptr< Buffer > buffer)
 Applies a computational transformation to the data in the provided buffer.
 
virtual void on_detach (std::shared_ptr< Buffer >)
 Called when this processor is detached from a buffer.
 
virtual void set_processing_token (ProcessingToken token)
 Gets the preferred processing backend for this processor.
 
virtual ProcessingToken get_processing_token () const
 Gets the current processing token for this buffer.
 

Additional Inherited Members

- Protected Attributes inherited from MayaFlux::Buffers::BufferProcessor
ProcessingToken m_processing_token { ProcessingToken::AUDIO_BACKEND }
 

Detailed Description

Processor that enforces boundary conditions on output data.

FinalLimiterProcessor is typically used as the final processor in a root buffer's processing chain. It ensures that output values remain within defined boundaries before transmission to hardware interfaces.

This boundary enforcement is critical for root buffers since they connect directly to hardware interfaces, where out-of-range values can cause distortion, artifacts, or potentially damage physical components.

Token Compatibility:

  • Primary Token: AUDIO_BACKEND (optimized for audio sample rate processing)
  • Can adapt to GPU_PROCESS tokens for parallel limiting when beneficial
  • Compatible with SEQUENTIAL and PARALLEL processing modes

Definition at line 215 of file RootAudioBuffer.hpp.


The documentation for this class was generated from the following files: