fix typo, add tsid correction
[enigma2.git] / lib / dvb / epgcache.cpp
index 6758e4dbda7080b27815dfd0d1e3e4f6c7dd2510..6767c4ad4a93ed574736b797b7426428bdabc14c 100644 (file)
@@ -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();
 
@@ -2256,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)
@@ -2487,7 +2492,7 @@ void eEPGCache::privateSectionRead(const uniqueEPGKey &current_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 )
@@ -2498,6 +2503,7 @@ void eEPGCache::privateSectionRead(const uniqueEPGKey &current_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;
                                        }
                                }
 ////////////////////////////////////////////