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

RtAudio implementation of the audio stream interface. More...

#include <RtAudioBackend.hpp>

+ Inheritance diagram for MayaFlux::Core::RtAudioStream:
+ Collaboration diagram for MayaFlux::Core::RtAudioStream:

Public Member Functions

 RtAudioStream (RtAudio *context, unsigned int output_device_id, unsigned int input_device_id, const GlobalStreamInfo &streamInfo, void *userData)
 Initializes an audio stream with the specified configuration.
 
 ~RtAudioStream () override
 Ensures proper cleanup of stream resources.
 
void open () override
 Initializes the audio stream and allocates required resources.
 
void start () override
 Activates the audio stream and begins data transfer.
 
void stop () override
 Deactivates the audio stream and halts data transfer.
 
void close () override
 Terminates the audio stream and releases all resources.
 
bool is_running () const override
 Checks if the stream is actively processing audio data.
 
bool is_open () const override
 Checks if the stream is initialized and ready for activation.
 
void set_process_callback (std::function< int(void *, void *, unsigned int)> processCallback) override
 Sets the function to process audio data.
 
- Public Member Functions inherited from MayaFlux::Core::AudioStream
virtual ~AudioStream ()=default
 Virtual destructor for proper cleanup of derived classes.
 

Private Member Functions

void configure_stream_options ()
 Configures RtAudio stream options based on GlobalStreamInfo.
 

Static Private Member Functions

static int rtAudioCallback (void *output_buffer, void *input_buffer, unsigned int num_frames, double stream_time, RtAudioStreamStatus status, void *user_data)
 Static callback function for the RtAudio API.
 

Private Attributes

RtAudio * m_context
 Pointer to the underlying RtAudio context.
 
RtAudio::StreamParameters m_out_parameters
 RtAudio-specific stream output configuration parameters.
 
RtAudio::StreamParameters m_in_parameters
 RtAudio-specific stream input configuration parameters.
 
RtAudio::StreamOptions m_options
 RtAudio-specific stream options.
 
GlobalStreamInfo stream_info
 Engine stream configuration.
 
void * m_userData
 User-provided context pointer for callbacks.
 
bool m_isOpen
 Flag indicating if the stream is currently open.
 
bool m_isRunning
 Flag indicating if the stream is currently running.
 
std::function< int(void *, void *, unsigned int)> m_process_callback
 User-provided callback function for audio processing.
 
GlobalStreamInfo m_stream_info
 Copy of the stream configuration for reference.
 

Detailed Description

RtAudio implementation of the audio stream interface.

Manages real-time audio data flow between the application and hardware using the RtAudio API. Handles the configuration, lifecycle, and callback integration for audio streams.

Definition at line 208 of file RtAudioBackend.hpp.


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