X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fservice%2Fservicedvbrecord.cpp;h=b3d09924e031d43e504d049f10eeedfec83b0adc;hb=a9984df92fc78bd4955b24502724b74b935dcc3f;hp=6ce66aedb337c936fd5d9ed41a4c4b7bf5f4fe88;hpb=46c144d3f294b74996cc9276528a9862e4d70efe;p=vuplus_dvbapp diff --git a/lib/service/servicedvbrecord.cpp b/lib/service/servicedvbrecord.cpp index 6ce66ae..b3d0992 100644 --- a/lib/service/servicedvbrecord.cpp +++ b/lib/service/servicedvbrecord.cpp @@ -171,43 +171,10 @@ RESULT eDVBServiceRecord::prepare(const char *filename, time_t begTime, time_t e ret = meta.updateMeta(m_filename) ? -255 : 0; if (!ret) { - const eit_event_struct *event = 0; - eEPGCache::getInstance()->Lock(); - if ( eit_event_id != -1 ) - { - eDebug("query epg event id %d", eit_event_id); - eEPGCache::getInstance()->lookupEventId(ref, eit_event_id, event); - } - if ( !event && (begTime != -1 && endTime != -1) ) - { - time_t queryTime = begTime + ((endTime-begTime)/2); - tm beg, end, query; - localtime_r(&begTime, &beg); - localtime_r(&endTime, &end); - localtime_r(&queryTime, &query); - eDebug("query stime %d:%d:%d, etime %d:%d:%d, qtime %d:%d:%d", - beg.tm_hour, beg.tm_min, beg.tm_sec, - end.tm_hour, end.tm_min, end.tm_sec, - query.tm_hour, query.tm_min, query.tm_sec); - eEPGCache::getInstance()->lookupEventTime(ref, queryTime, event); - } - if ( event ) - { - eDebug("found event.. store to disc"); - std::string fname = m_filename; - fname.erase(fname.length()-2, 2); - fname+="eit"; - int fd = open(fname.c_str(), O_CREAT|O_WRONLY, 0777); - if (fd>-1) - { - int evLen=HILO(event->descriptors_loop_length)+12/*EIT_LOOP_SIZE*/; - int wr = ::write( fd, (unsigned char*)event, evLen ); - if ( wr != evLen ) - eDebug("eit write error (%m)"); - ::close(fd); - } - } - eEPGCache::getInstance()->Unlock(); + std::string fname = filename; + fname.erase(fname.length()-2, 2); + fname += "eit"; + eEPGCache::getInstance()->saveEventToFile(fname.c_str(), ref, eit_event_id, begTime, endTime); } } return ret;