From b1ec75600f488ba3de67ff8b7e10a48e18e6073b Mon Sep 17 00:00:00 2001 From: Thulinma Date: Wed, 16 Oct 2013 10:49:55 +0200 Subject: [PATCH] Optimized DTSC::File::atKeyFrame() further. --- lib/dtsc.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/dtsc.cpp b/lib/dtsc.cpp index 9c212d9b..61974c7d 100644 --- a/lib/dtsc.cpp +++ b/lib/dtsc.cpp @@ -1012,12 +1012,10 @@ bool DTSC::File::atKeyframe(){ return true; } long long int bTime = jsonbuffer["time"].asInt(); - for (std::set::iterator selectIt = selectedTracks.begin(); selectIt != selectedTracks.end(); selectIt++){ - JSON::Value & keys = getTrackById((*selectIt))["keys"]; - for (JSON::ArrIter aIt = keys.ArrBegin(); aIt != keys.ArrEnd(); aIt++){ - if ((*aIt)["time"].asInt() == bTime){ - return true; - } + JSON::Value & keys = getTrackById(jsonbuffer["trackid"].asInt())["keys"]; + for (JSON::ArrIter aIt = keys.ArrBegin(); aIt != keys.ArrEnd(); ++aIt){ + if ((*aIt)["time"].asInt() >= bTime){ + return ((*aIt)["time"].asInt() == bTime); } } return false;