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

◆ stop()

void MayaFlux::Core::AudioSubsystem::stop ( )
overridevirtual

Stop audio processing and streaming.

Implements MayaFlux::Core::ISubsystem.

Definition at line 213 of file AudioSubsystem.cpp.

214{
215 if (!m_is_running.load()) {
216 return;
217 }
218
220 "Stopping AudioSubsystem...");
221
222 m_is_running.store(false, std::memory_order_release);
223
224 if (m_audio_stream && m_audio_stream->is_running()) {
225 m_audio_stream->stop();
226 }
227
228 if (m_callback_active.load() > 0) {
229 MF_INFO(Journal::Component::Core, Journal::Context::AudioSubsystem, "Stopped while {} callback(s) active",
230 m_callback_active.load());
231 }
232
234 "AudioSubsystem stopped");
235}
#define MF_INFO(comp, ctx,...)
std::atomic< int > m_callback_active
Active callback counter.
std::atomic< bool > m_is_running
Subsystem running state.
std::unique_ptr< AudioStream > m_audio_stream
Audio stream manager.
@ AudioSubsystem
Audio subsystem operations (backend, device, stream management)
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::AudioSubsystem, MayaFlux::Journal::Core, m_audio_stream, m_callback_active, m_is_running, and MF_INFO.

Referenced by shutdown().

+ Here is the caller graph for this function: