From 70ba531ba993d421287457844a52f705f792e5ab Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sat, 13 Dec 2014 21:21:20 +0100 Subject: [PATCH] Some minor optimizes to HDS fragment list generation. --- src/output/output_hds.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/output/output_hds.cpp b/src/output/output_hds.cpp index 17532076..1cf27a81 100644 --- a/src/output/output_hds.cpp +++ b/src/output/output_hds.cpp @@ -56,20 +56,22 @@ namespace Mist { int i = 0; int j = 0; if (myMeta.tracks[tid].fragments.size()){ - unsigned int firstTime = myMeta.tracks[tid].getKey(myMeta.tracks[tid].fragments.begin()->getNumber()).getTime(); - for (std::deque::iterator it = myMeta.tracks[tid].fragments.begin(); it != myMeta.tracks[tid].fragments.end(); it++){ - if (myMeta.vod || it->getDuration() > 0){ + std::deque::iterator fragIt = myMeta.tracks[tid].fragments.begin(); + unsigned int firstTime = myMeta.tracks[tid].getKey(fragIt->getNumber()).getTime(); + while (fragIt != myMeta.tracks[tid].fragments.end()){ + if (myMeta.vod || fragIt->getDuration() > 0){ afrtrun.firstFragment = myMeta.tracks[tid].missedFrags + j + 1; - afrtrun.firstTimestamp = myMeta.tracks[tid].getKey(it->getNumber()).getTime() - firstTime; - if (it->getDuration() > 0){ - afrtrun.duration = it->getDuration(); + afrtrun.firstTimestamp = myMeta.tracks[tid].getKey(fragIt->getNumber()).getTime() - firstTime; + if (fragIt->getDuration() > 0){ + afrtrun.duration = fragIt->getDuration(); }else{ afrtrun.duration = myMeta.tracks[tid].lastms - afrtrun.firstTimestamp; } afrt.setFragmentRun(afrtrun, i); - i++; + ++i; } - j++; + ++j; + ++fragIt; } }