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

◆ initialize()

void MayaFlux::Core::AudioSubsystem::initialize ( SubsystemProcessingHandle handle)
overridevirtual

Initialize audio processing with provided handle.

Implements MayaFlux::Core::ISubsystem.

Definition at line 22 of file AudioSubsystem.cpp.

23{
24 m_handle = &handle;
25
26 m_audio_stream = m_audiobackend->create_stream(
27 m_audio_device->get_default_output_device(),
28 m_audio_device->get_default_input_device(),
30 this);
31
33 m_notify_running.store(true, std::memory_order_release);
34
35#ifdef MAYAFLUX_PLATFORM_MACOS
36 m_observers_ptr.store(new ObserverMap(), std::memory_order_release);
37#endif
38
39 m_notify_thread = std::thread(&AudioSubsystem::notify_loop, this);
40 m_is_ready = true;
41}
bool m_is_ready
Subsystem ready state.
std::unique_ptr< IAudioBackend > m_audiobackend
Audio backend implementation.
GlobalStreamInfo m_stream_info
Audio stream configuration.
SubsystemProcessingHandle * m_handle
Reference to processing handle.
std::atomic< bool > m_notify_running
std::unordered_map< uint32_t, std::function< void(const double *, uint32_t)> > ObserverMap
std::unique_ptr< AudioDevice > m_audio_device
Audio device manager.
std::unique_ptr< AudioStream > m_audio_stream
Audio stream manager.

References m_audio_device, m_audio_stream, m_audiobackend, m_handle, m_is_ready, m_notify_running, m_notify_thread, m_stream_info, notify_loop(), and register_backend_service().

+ Here is the call graph for this function: