allow concurrent decoders for different blocks
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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_;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user