allow concurrent decoders for different blocks

This commit is contained in:
itsmattkc
2022-06-01 10:03:33 -07:00
parent eb9b1850ae
commit 8939a3aa66
4 changed files with 16 additions and 7 deletions
+2
View File
@@ -350,7 +350,9 @@ NodeValueTable NodeTraverser::GenerateBlockTable(const Track *track, const TimeR
NodeValueTable table;
if (active_block) {
block_stack_.push_back(active_block);
table = GenerateTable(active_block, Track::TransformRangeForBlock(active_block, range), track);
block_stack_.pop_back();
}
return table;
+7
View File
@@ -151,6 +151,11 @@ protected:
void ResolveJobs(NodeValue &value, const TimeRange &range);
Block *GetCurrentBlock() const
{
return block_stack_.empty() ? nullptr : block_stack_.back();
}
private:
void PreProcessRow(const TimeRange &range, NodeValueRow &row);
@@ -167,6 +172,8 @@ private:
const Node *transform_now_;
QTransform *transform_;
std::list<Block*> block_stack_;
};
}