eitd: change SIevents type to vector - no need to sort this temp list

This commit is contained in:
[CST] Focus
2012-06-05 20:18:48 +04:00
parent 0fbad6b69a
commit a4a3d20667
3 changed files with 7 additions and 4 deletions

View File

@@ -431,7 +431,8 @@ class SIevent
void dumpSmall(void) const; // dumps the event to stdout (not all information)
};
typedef std::set <SIevent, std::less<SIevent> > SIevents;
//typedef std::set <SIevent, std::less<SIevent> > SIevents;
typedef std::vector <SIevent> SIevents;
// Fuer for_each
struct printSIevent : public std::unary_function<SIevent, void>

View File

@@ -68,7 +68,8 @@ void SIsectionEIT::parse(void)
e.version = version;
e.parse(event);
evts.insert(e);
//evts.insert(e);
evts.push_back(e);
}
parsed = 1;
}
@@ -106,7 +107,8 @@ void SIsectionEIT::parse(void)
e.version = version_number;
descriptors_loop_length = sizeof(struct eit_event) + ((evt->descriptors_loop_length_hi << 8) | evt->descriptors_loop_length_lo);
e.parseDescriptors(actPos, min((unsigned)(bufEnd - actPos), descriptors_loop_length));
evts.insert(e);
//evts.insert(e);
evts.push_back(e);
actPos += descriptors_loop_length;
}
parsed = 1;

View File

@@ -1548,7 +1548,7 @@ bool CEventsThread::addEvents()
dprintf("[%s] adding %d events (begin)\n", name.c_str(), eit.events().size());
time_t zeit = time(NULL);
for (SIevents::iterator e = eit.events().begin(); e != eit.events().end(); ++e) {
for (SIevents::const_iterator e = eit.events().begin(); e != eit.events().end(); ++e) {
if (!(e->times.empty())) {
if ( ( e->times.begin()->startzeit < zeit + secondsToCache ) &&
( ( e->times.begin()->startzeit + (long)e->times.begin()->dauer ) > zeit - oldEventsAre ) )