X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8d116f4f5ebf11ffa4b8ecc4c26474470bb318b2..a22c31de792a36f645c9c91d954e9d8e30f82064:/lib/dvb/epgcache.cpp diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index 356bd7c4..6767c4ad 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -1530,7 +1530,11 @@ RESULT eEPGCache::startTimeQuery(const eServiceReference &service, time_t begin, } } - m_timemap_end = It->second.second.upper_bound(begin+minutes*60); + if (minutes != -1) + m_timemap_end = It->second.second.lower_bound(begin+minutes*60); + else + m_timemap_end = It->second.second.end(); + currentQueryTsidOnid = (ref.getTransportStreamID().get()<<16) | ref.getOriginalNetworkID().get(); Unlock(); return 0; @@ -1870,6 +1874,8 @@ PyObject *eEPGCache::lookupEvent(ePyObject list, ePyObject convertFunc) } } } + else + handleEvent(0, dest_list, argstring, argcount, service, nowTime, service_name, convertFunc, convertFuncArgs); Unlock(); } else @@ -2250,6 +2256,11 @@ PyObject *eEPGCache::search(ePyObject arg) { if (lookupEventId(ref, evid, ev)) eDebug("event not found !!!!!!!!!!!"); + else + { + const eServiceReferenceDVB &dref = (const eServiceReferenceDVB&)ref; + ptr.parseFrom(ev, (dref.getTransportStreamID().get()<<16)|dref.getOriginalNetworkID().get()); + } } // create service name if (!service_name) @@ -2481,7 +2492,7 @@ void eEPGCache::privateSectionRead(const uniqueEPGKey ¤t_service, const __ int sid = data[ptr++] << 8; sid |= data[ptr++]; -// WORKAROUND for wrong transmitted epg data (01.08.2006) +// WORKAROUND for wrong transmitted epg data (01.10.2007) if ( onid == 0x85 ) { switch( (tsid << 16) | sid ) @@ -2492,6 +2503,7 @@ void eEPGCache::privateSectionRead(const uniqueEPGKey ¤t_service, const __ case 0x0300f5: sid = 0xdc; break; case 0x0400d2: sid = 0xe2; tsid = 0x11; break; case 0x1100d3: sid = 0xe3; break; + case 0x0100d4: sid = 0xe4; tsid = 4; break; } } ////////////////////////////////////////////