MayaFlux 0.5.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 306 of file DynamicSoundStream.cpp.

307{
308 for (uint32_t i = 0; i < m_dynamic_slots.size(); ++i) {
309 if (!m_dynamic_slots[i]) {
310 m_dynamic_slots[i] = true;
311 m_dynamic_data[i].clear();
312 return i;
313 }
314 }
315
316 m_dynamic_data.emplace_back();
317 m_dynamic_slots.push_back(true);
318 return static_cast<uint32_t>(m_dynamic_slots.size() - 1);
319}
std::vector< std::vector< DataVariant > > m_dynamic_data

References m_dynamic_data, and m_dynamic_slots.