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

◆ allocate_dynamic_slot()

uint32_t MayaFlux::Kakshya::DynamicSoundStream::allocate_dynamic_slot ( )

Allocate an independent processed data slot.

Returns a unique index into m_dynamic_data. Intended for processors that share this stream but require independent output buffers, such as multiple CursorAccessProcessor instances reading at different cursors. The slot is empty on allocation.

Returns
Slot index, stable until release_dynamic_slot is called.

Definition at line 332 of file DynamicSoundStream.cpp.

333{
334 for (uint32_t i = 0; i < m_dynamic_slots.size(); ++i) {
335 if (!m_dynamic_slots[i]) {
336 m_dynamic_slots[i] = true;
337 m_dynamic_data[i].clear();
338 return i;
339 }
340 }
341
342 m_dynamic_data.emplace_back();
343 m_dynamic_slots.push_back(true);
344 return static_cast<uint32_t>(m_dynamic_slots.size() - 1);
345}
std::vector< std::vector< DataVariant > > m_dynamic_data

References m_dynamic_data, and m_dynamic_slots.