channellist: set CI channel inactive if recording with CI

Signed-off-by: GetAway <get-away@t-online.de>
This commit is contained in:
FlatTV
2020-01-01 13:43:53 +01:00
committed by GetAway
parent fb0cdcf1e6
commit f291dfb445
3 changed files with 19 additions and 0 deletions

View File

@@ -1796,6 +1796,21 @@ CRecordInstance* CRecordManager::getRecordInstance(std::string file)
return NULL;
}
CRecordInstance* CRecordManager::getUseCI()
{
mutex.lock();
for(recmap_iterator_t it = recmap.begin(); it != recmap.end(); it++) {
CRecordInstance * inst = it->second;
CZapitChannel * channel = CServiceManager::getInstance()->FindChannel(inst->GetChannelId());
if (channel->bUseCI) {
mutex.unlock();
return inst;
}
}
mutex.unlock();
return NULL;
}
#if 0
/* should return true, if recordingstatus changed in this function ? */
bool CRecordManager::doGuiRecord()

View File

@@ -226,6 +226,7 @@ class CRecordManager : public CMenuTarget /*, public CChangeObserver*/
void StartTimeshift();
int GetRecordMode(const t_channel_id channel_id=0);
CRecordInstance* getRecordInstance(std::string file);
CRecordInstance* getUseCI();
// old code
#if 0
bool MountDirectory(const char *recordingDir);

View File

@@ -2430,6 +2430,9 @@ bool CChannelList::SameTP(CZapitChannel * channel)
return false; // No other CI channel
}
#endif
if(channel->bUseCI && CRecordManager::getInstance()->getUseCI())
return false;
iscurrent = CFEManager::getInstance()->canTune(channel);
}
return iscurrent;