50{
51 size_t blockSize = bufferSize;
52 const auto nTracks = inputs.size();
53 for (size_t i = 0; i < nTracks;) {
54 const auto &input = inputs[i];
55 const auto leader = input.pTrack.get();
57 if (!leader || i + nInChannels > nTracks) {
58 assert(false);
59 break;
60 }
61 auto increment = finally([&]{ i += nInChannels; });
62 for (const auto &stage : input.stages) {
63
64 const auto pInstance = stage.factory();
65 if (pInstance)
66 blockSize =
std::min(blockSize, pInstance->SetBlockSize(blockSize));
67
68 stage.mpFirstInstance = move(pInstance);
69 }
70 }
71 return blockSize;
72}
static auto Channels(TrackType *pTrack) -> TrackIterRange< TrackType >