renderer/viewer: fixed playback and live updates from value changes

This commit is contained in:
itsmattkc
2020-05-15 15:02:30 +10:00
parent 8795e51452
commit 2039067fdc
17 changed files with 146 additions and 148 deletions
+22 -1
View File
@@ -36,7 +36,28 @@ class ViewerQueue : public QLinkedList<ViewerPlaybackFrame> {
public:
ViewerQueue() = default;
QMutex* lock() {
void AppendTimewise(const ViewerPlaybackFrame& f, int playback_speed)
{
if (this->isEmpty() || f.timestamp > this->last().timestamp == playback_speed > 0) {
this->append(f);
} else {
reverse_iterator i = this->rbegin();
while (i != this->rend()) {
reverse_iterator next = i + 1;
if (next->timestamp < f.timestamp == playback_speed > 0) {
this->insert(i.base(), f);
break;
} else {
i = next;
}
}
}
}
QMutex* lock()
{
return &queue_lock_;
}