|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
| void MayaFlux::Kakshya::extract_processed_data | ( | const std::vector< DataVariant > & | pd, |
| OrganizationStrategy | organization, | ||
| uint64_t | num_channels, | ||
| uint32_t | ch, | ||
| std::span< double > | output | ||
| ) |
Extract one channel's samples from a processed dynamic data block.
Handles both INTERLEAVED and PLANAR organization. For interleaved layout pd[0] holds all channels multiplexed; for planar layout pd[ch] holds the channel directly. In either case the result is written into output up to min(output.size(), available_samples) samples, with any remainder zero-filled.
| pd | Dynamic data block as returned by container::get_processed_data() or similar. |
| organization | Memory organization of the stream. |
| num_channels | Total channel count of the stream. |
| ch | Zero-based channel index to extract. |
| output | Destination buffer; size determines the copy limit. |
Definition at line 156 of file ContainerUtils.cpp.
References INTERLEAVED.
Referenced by MayaFlux::Buffers::SoundStreamReader::extract_channel_data(), and MayaFlux::Buffers::StreamSliceProcessor::processing_function().
Here is the caller graph for this function: