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

◆ clear()

void MayaFlux::Kakshya::SoundStreamContainer::clear ( )
overridevirtual

Clear all data in the container.

Implements MayaFlux::Kakshya::NDDataContainer.

Definition at line 253 of file SoundStreamContainer.cpp.

254{
255 {
256 Memory::SeqlockWriteGuard g(m_data_lock);
257 std::ranges::for_each(m_data, [](auto& vec) {
258 std::visit([](auto& v) { v.clear(); }, vec);
259 });
260 std::ranges::for_each(m_processed_data, [](auto& vec) {
261 std::visit([](auto& v) { v.clear(); }, vec);
262 });
263 m_num_frames = 0;
265 m_read_position = std::vector<std::atomic<uint64_t>>(m_num_channels);
266 for (auto& pos : m_read_position)
267 pos.store(0);
269 }
270
273}
std::vector< std::atomic< uint64_t > > m_read_position
void update_processing_state(ProcessingState new_state) override
Update the processing state of the container.
void invalidate_span_cache()
Invalidate the span cache when data or layout changes.
@ IDLE
Container is inactive with no data or not ready for processing.
std::shared_ptr< T > store(std::shared_ptr< T > obj)
Transfer ownership of an existing object to the persistent store for process lifetime.
Definition Persist.hpp:28

References MayaFlux::Kakshya::IDLE, invalidate_span_cache(), m_circular_write_position, m_data, m_data_lock, m_num_channels, m_num_frames, m_processed_data, m_read_position, setup_dimensions(), and update_processing_state().

+ Here is the call graph for this function: