X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e677ac4a7bf81391877c909a703e5918ce4a511b..31fb73a15d12559b15f5506622c3902476d3ea0f:/lib/dvb/eit.cpp diff --git a/lib/dvb/eit.cpp b/lib/dvb/eit.cpp index 2462d333..9f3169f9 100644 --- a/lib/dvb/eit.cpp +++ b/lib/dvb/eit.cpp @@ -7,17 +7,18 @@ void eDVBServiceEITHandler::EITready(int error) { if (!error) { - ePtr > ptr; + ePtr > ptr; if (!m_EIT.getCurrent(ptr)) { int a = 0; - for (EventInformationTableConstIterator i = ptr->getSections().begin(); + for (std::vector::const_iterator i = ptr->getSections().begin(); i != ptr->getSections().end(); ++i) { - for (EventConstIterator ev = (*i)->getEvents()->begin(); ev != (*i)->getEvents()->end(); ++ev) + const EventInformationSection *eit = *i; + for (EventConstIterator ev = eit->getEvents()->begin(); ev != eit->getEvents()->end(); ++ev) { ePtr evt = new eServiceEvent(); - evt->parseFrom(*ev); + evt->parseFrom(*ev,(eit->getTransportStreamId()<<16)|eit->getOriginalNetworkId()); if (!a) m_event_now = evt; else @@ -41,6 +42,11 @@ void eDVBServiceEITHandler::start(iDVBDemux *demux, int sid) m_EIT.begin(eApp, eDVBEITSpec(sid), demux); } +void eDVBServiceEITHandler::startOther(iDVBDemux *demux, int sid) +{ + m_EIT.begin(eApp, eDVBEITSpecOther(sid), demux); +} + RESULT eDVBServiceEITHandler::getEvent(ePtr &event, int nownext) { event = nownext ? m_event_next : m_event_now;