src/neutrino.cpp:-fix zapto timer in TimeshiftOnly mode or if haveFreeFrontend

This commit is contained in:
satbaby
2012-10-30 20:43:52 +01:00
parent 69715cbc5e
commit 294f0876c0

View File

@@ -2627,9 +2627,12 @@ _repeat:
#endif #endif
return res; return res;
} }
else if( msg == NeutrinoMessages::ZAPTO) { else if( msg == NeutrinoMessages::ZAPTO) {
CTimerd::EventInfo * eventinfo = (CTimerd::EventInfo *) data; CTimerd::EventInfo * eventinfo = (CTimerd::EventInfo *) data;
if(recordingstatus==0) { if (eventinfo->channel_id != CZapit::getInstance()->GetCurrentChannelID()){
/* FIXME zapto if recordingstatus == 1 && haveFreeFrontend == 0 on same transponder and check for twin box in loop and independet mode */
if( (recordingstatus == 0) || (recordingstatus && CRecordManager::getInstance()->TimeshiftOnly()) || (recordingstatus && CFEManager::getInstance()->haveFreeFrontend()) ) {
bool isTVMode = CServiceManager::getInstance()->IsChannelTVChannel(eventinfo->channel_id); bool isTVMode = CServiceManager::getInstance()->IsChannelTVChannel(eventinfo->channel_id);
dvbsub_stop(); dvbsub_stop();
@@ -2642,6 +2645,7 @@ _repeat:
} }
channelList->zapTo_ChannelID(eventinfo->channel_id); channelList->zapTo_ChannelID(eventinfo->channel_id);
} }
}
delete[] (unsigned char*) data; delete[] (unsigned char*) data;
return messages_return::handled; return messages_return::handled;
} }