diff --git a/src/driver/record.cpp b/src/driver/record.cpp index 1912a9cab..4acf350ad 100644 --- a/src/driver/record.cpp +++ b/src/driver/record.cpp @@ -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() diff --git a/src/driver/record.h b/src/driver/record.h index f7844ac39..5ea5f6426 100644 --- a/src/driver/record.h +++ b/src/driver/record.h @@ -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); diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index e506f3233..75bed8fa6 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -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;