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 335 of file DynamicSoundStream.cpp.

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

References m_dynamic_data, and m_dynamic_slots.