diff --git a/lib/sectionsdclient/sectionsdclient.h b/lib/sectionsdclient/sectionsdclient.h index 9e48da5e9..3f0ce775b 100644 --- a/lib/sectionsdclient/sectionsdclient.h +++ b/lib/sectionsdclient/sectionsdclient.h @@ -56,6 +56,7 @@ class CChannelEvent std::string text; time_t startTime; unsigned duration; + t_channel_id channelID; }; typedef std::vector CChannelEventList; diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 63c58e3b1..ddc6ab1a4 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -171,7 +171,7 @@ void CChannelList::updateEvents(unsigned int from, unsigned int to) unsigned int count; for (count = from; count < to; count++){ events.clear(); - sectionsd_getEventsServiceKey(chanlist[count]->channel_id &0xFFFFFFFFFFFFULL, events); + sectionsd_getEventsServiceKey(chanlist[count]->channel_id, events); chanlist[count]->nextEvent.startTime = (long)0x7fffffff; for ( CChannelEventList::iterator e= events.begin(); e != events.end(); ++e ) { if ((long)e->startTime > atime && diff --git a/src/gui/epgplus.cpp b/src/gui/epgplus.cpp index 3bd6f32e5..c6e704334 100644 --- a/src/gui/epgplus.cpp +++ b/src/gui/epgplus.cpp @@ -563,7 +563,7 @@ void EpgPlus::createChannelEntries (int selectedChannelEntryIndex) //printf("Going to get getEventsServiceKey for %llx\n", (channel->channel_id & 0xFFFFFFFFFFFFULL)); //CChannelEventList channelEventList = g_Sectionsd->getEventsServiceKey (channel->channel->channel_id & 0xFFFFFFFFFFFFULL); CChannelEventList channelEventList; - sectionsd_getEventsServiceKey(channel->channel_id & 0xFFFFFFFFFFFFULL, channelEventList); + sectionsd_getEventsServiceKey(channel->channel_id, channelEventList); //printf("channelEventList size %d\n", channelEventList.size()); int xPosEventEntry = this->eventsTableX; diff --git a/src/gui/epgview.cpp b/src/gui/epgview.cpp index 0e04b3223..7fd3d9614 100644 --- a/src/gui/epgview.cpp +++ b/src/gui/epgview.cpp @@ -485,7 +485,7 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start start(); //evtlist = g_Sectionsd->getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL); evtlist.clear(); - sectionsd_getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL, evtlist); + sectionsd_getEventsServiceKey(channel_id, evtlist); // Houdini added for Private Premiere EPG start sorted by start date/time 2005-08-15 sort(evtlist.begin(),evtlist.end(),sortByDateTime); } diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index 1f20b9e30..25c1d5f9c 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -107,7 +107,7 @@ void EventList::readEvents(const t_channel_id channel_id) { //evtlist = g_Sectionsd->getEventsServiceKey(channel_id &0xFFFFFFFFFFFFULL); evtlist.clear(); - sectionsd_getEventsServiceKey(channel_id &0xFFFFFFFFFFFFULL, evtlist); + sectionsd_getEventsServiceKey(channel_id , evtlist); time_t azeit=time(NULL); CChannelEventList::iterator e; @@ -149,7 +149,7 @@ void EventList::readEvents(const t_channel_id channel_id) if (channel_id != channel_id2) { //evtlist2 = g_Sectionsd->getEventsServiceKey(channel_id2); evtlist2.clear(); - sectionsd_getEventsServiceKey(channel_id2 &0xFFFFFFFFFFFFULL, evtlist2); + sectionsd_getEventsServiceKey(channel_id2 , evtlist2); for (unsigned int loop=0 ; loopshow(evtlist[selected].sub ? GET_CHANNEL_ID_FROM_EVENT_ID(evtlist[selected].eventID) : channel_id, evtlist[selected].eventID, &evtlist[selected].startTime); - res = g_EpgData->show(channel_id, evtlist[selected].eventID, &evtlist[selected].startTime); + res = g_EpgData->show(evtlist[selected].channelID, evtlist[selected].eventID, &evtlist[selected].startTime); if ( res == menu_return::RETURN_EXIT_ALL ) { loop = false; @@ -755,7 +755,7 @@ void EventList::paintItem(unsigned int pos, t_channel_id channel_idI) if ( m_showChannel ) // show the channel if we made a event search only (which could be made through all channels ). { - t_channel_id channel = evtlist[liststart+pos].get_channel_id(); + t_channel_id channel = evtlist[liststart+pos].channelID; datetime2_str += " "; datetime2_str += g_Zapit->getChannelName(channel); } @@ -980,7 +980,7 @@ bool EventList::findEvents(void) if(m_search_list == SEARCH_LIST_CHANNEL) { //g_Sectionsd->getEventsServiceKeySearchAdd(evtlist,m_search_channel_id & 0xFFFFFFFFFFFFULL,m_search_epg_item,m_search_keyword); - sectionsd_getEventsServiceKey(m_search_channel_id & 0xFFFFFFFFFFFFULL, evtlist, m_search_epg_item,m_search_keyword); + sectionsd_getEventsServiceKey(m_search_channel_id, evtlist, m_search_epg_item,m_search_keyword); } else if(m_search_list == SEARCH_LIST_BOUQUET) { @@ -989,7 +989,7 @@ bool EventList::findEvents(void) { channel_id = bouquetList->Bouquets[m_search_bouquet_id]->channelList->getChannelFromIndex(channel)->channel_id; //g_Sectionsd->getEventsServiceKeySearchAdd(evtlist,channel_id & 0xFFFFFFFFFFFFULL,m_search_epg_item,m_search_keyword); - sectionsd_getEventsServiceKey(channel_id & 0xFFFFFFFFFFFFULL, evtlist, m_search_epg_item,m_search_keyword); + sectionsd_getEventsServiceKey(channel_id, evtlist, m_search_epg_item,m_search_keyword); } } else if(m_search_list == SEARCH_LIST_ALL) @@ -1004,7 +1004,7 @@ bool EventList::findEvents(void) { channel_id = bouquetList->Bouquets[bouquet]->channelList->getChannelFromIndex(channel)->channel_id; //g_Sectionsd->getEventsServiceKeySearchAdd(evtlist,channel_id & 0xFFFFFFFFFFFFULL,m_search_epg_item,m_search_keyword); - sectionsd_getEventsServiceKey(channel_id & 0xFFFFFFFFFFFFULL,evtlist, m_search_epg_item,m_search_keyword); + sectionsd_getEventsServiceKey(channel_id,evtlist, m_search_epg_item,m_search_keyword); } } box.hide(); diff --git a/src/gui/infoviewer.cpp b/src/gui/infoviewer.cpp index 06db287ab..253e6e113 100644 --- a/src/gui/infoviewer.cpp +++ b/src/gui/infoviewer.cpp @@ -614,7 +614,7 @@ void CInfoViewer::showTitle (const int ChanNum, const std::string & Channel, con if ((channel_id != new_channel_id) || (evtlist.empty())) { evtlist.clear(); //evtlist = g_Sectionsd->getEventsServiceKey(new_channel_id & 0xFFFFFFFFFFFFULL); - sectionsd_getEventsServiceKey(new_channel_id & 0xFFFFFFFFFFFFULL, evtlist); + sectionsd_getEventsServiceKey(new_channel_id, evtlist); if (!evtlist.empty()) sort(evtlist.begin(),evtlist.end(), sortByDateTime); new_chan = true; diff --git a/src/nhttpd/tuxboxapi/coolstream/controlapi.cpp b/src/nhttpd/tuxboxapi/coolstream/controlapi.cpp index 1ddf9086a..0b04fb122 100644 --- a/src/nhttpd/tuxboxapi/coolstream/controlapi.cpp +++ b/src/nhttpd/tuxboxapi/coolstream/controlapi.cpp @@ -993,7 +993,7 @@ void CControlAPI::GetBouquetsCGI(CyhookHandler *hh) //----------------------------------------------------------------------------- void CControlAPI::channelEPGAsXML(CyhookHandler *hh, int bouquetnr, t_channel_id channel_id, int max, long stoptime) { - sectionsd_getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL, NeutrinoAPI->eList); + sectionsd_getEventsServiceKey(channel_id, NeutrinoAPI->eList); hh->printf("" PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS "\r\n", channel_id); @@ -1127,7 +1127,7 @@ void CControlAPI::EpgCGI(CyhookHandler *hh) sscanf(hh->ParamList["id"].c_str(), SCANF_CHANNEL_ID_TYPE, &channel_id); - sectionsd_getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL, NeutrinoAPI->eList); + sectionsd_getEventsServiceKey(channel_id, NeutrinoAPI->eList); CChannelEventList::iterator eventIterator; for (eventIterator = NeutrinoAPI->eList.begin(); eventIterator != NeutrinoAPI->eList.end(); eventIterator++) { @@ -1378,7 +1378,7 @@ void CControlAPI::LCDAction(CyhookHandler *hh) void CControlAPI::SendEventList(CyhookHandler *hh, t_channel_id channel_id) { int pos; - sectionsd_getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL, NeutrinoAPI->eList); + sectionsd_getEventsServiceKey(channel_id, NeutrinoAPI->eList); CChannelEventList::iterator eventIterator; for (eventIterator = NeutrinoAPI->eList.begin(); eventIterator != NeutrinoAPI->eList.end(); eventIterator++, pos++) diff --git a/src/sectionsd/sectionsd.cpp b/src/sectionsd/sectionsd.cpp index 10943c7b0..c467ac13c 100644 --- a/src/sectionsd/sectionsd.cpp +++ b/src/sectionsd/sectionsd.cpp @@ -8767,7 +8767,7 @@ void sectionsd_getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEventL { dprintf("sendAllEvents for " PRINTF_CHANNEL_ID_TYPE "\n", serviceUniqueKey); - if (serviceUniqueKey != 0) { + if ((serviceUniqueKey& 0xFFFFFFFFFFFFULL) != 0) { //0xFFFFFFFFFFFFULL for CREATE_CHANNEL_ID64 // service Found readLockEvents(); int serviceIDfound = 0; @@ -8775,7 +8775,7 @@ void sectionsd_getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEventL if (search_text.length()) std::transform(search_text.begin(), search_text.end(), search_text.begin(), tolower); for (MySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey::iterator e = mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.begin(); e != mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.end(); ++e) { - if ((*e)->get_channel_id() == serviceUniqueKey) { + if ((*e)->get_channel_id() == (serviceUniqueKey& 0xFFFFFFFFFFFFULL)) { //0xFFFFFFFFFFFFULL for CREATE_CHANNEL_ID64 serviceIDfound = 1; bool copy = true; @@ -8811,6 +8811,7 @@ void sectionsd_getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEventL aEvent.text = (*e)->getExtendedText().substr(0, 40); else aEvent.text = (*e)->getText(); + aEvent.channelID = serviceUniqueKey; eList.push_back(aEvent); } } // if = serviceID