|
|
@ -225,7 +225,7 @@ void Replay::queueSegment() { |
|
|
|
if (cur == segments_.end()) return; |
|
|
|
if (cur == segments_.end()) return; |
|
|
|
|
|
|
|
|
|
|
|
auto begin = std::prev(cur, std::min<int>(segment_cache_limit / 2, std::distance(segments_.begin(), cur))); |
|
|
|
auto begin = std::prev(cur, std::min<int>(segment_cache_limit / 2, std::distance(segments_.begin(), cur))); |
|
|
|
auto end = std::next(begin, std::min<int>(segment_cache_limit, segments_.size())); |
|
|
|
auto end = std::next(begin, std::min<int>(segment_cache_limit, std::distance(begin, segments_.end()))); |
|
|
|
// load one segment at a time
|
|
|
|
// load one segment at a time
|
|
|
|
auto it = std::find_if(cur, end, [](auto &it) { return !it.second || !it.second->isLoaded(); }); |
|
|
|
auto it = std::find_if(cur, end, [](auto &it) { return !it.second || !it.second->isLoaded(); }); |
|
|
|
if (it != end && !it->second) { |
|
|
|
if (it != end && !it->second) { |
|
|
|