X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a13e3f235ff87280a6b0894ca7dcf02b01ebfb58..a22c31de792a36f645c9c91d954e9d8e30f82064:/lib/dvb/epgcache.cpp diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index 57501d8d..6767c4ad 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -1531,7 +1531,7 @@ RESULT eEPGCache::startTimeQuery(const eServiceReference &service, time_t begin, } if (minutes != -1) - m_timemap_end = It->second.second.upper_bound(begin+minutes*60); + m_timemap_end = It->second.second.lower_bound(begin+minutes*60); else m_timemap_end = It->second.second.end(); @@ -1874,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 @@ -2254,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) @@ -2485,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 ) @@ -2496,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; } } ////////////////////////////////////////////