mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-09-02 18:31:12 +02:00
zapit/src/femanager.cpp: bugfix, getFrontend return value for the same transponder
Origin commit data
------------------
Commit: 702beba7d8
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2013-02-13 (Wed, 13 Feb 2013)
This commit is contained in:
@@ -86,6 +86,7 @@ bool CFEManager::Init()
|
|||||||
CFrontend * fe;
|
CFrontend * fe;
|
||||||
unsigned short fekey;
|
unsigned short fekey;
|
||||||
|
|
||||||
|
OpenThreads::ScopedLock<OpenThreads::Mutex> m_lock(mutex);
|
||||||
for(int i = 0; i < MAX_ADAPTERS; i++) {
|
for(int i = 0; i < MAX_ADAPTERS; i++) {
|
||||||
for(int j = 0; j < MAX_FE; j++) {
|
for(int j = 0; j < MAX_FE; j++) {
|
||||||
fe = new CFrontend(j, i);
|
fe = new CFrontend(j, i);
|
||||||
@@ -488,7 +489,7 @@ bool CFEManager::loopCanTune(CFrontend * fe, CZapitChannel * channel)
|
|||||||
CFrontend * CFEManager::getFrontend(CZapitChannel * channel)
|
CFrontend * CFEManager::getFrontend(CZapitChannel * channel)
|
||||||
{
|
{
|
||||||
CFrontend * free_frontend = NULL;
|
CFrontend * free_frontend = NULL;
|
||||||
CFrontend * same_tid_fe = NULL;
|
//CFrontend * same_tid_fe = NULL;
|
||||||
|
|
||||||
if (livefe && livefe->tuned && livefe->sameTsidOnid(channel->getTransponderId()))
|
if (livefe && livefe->tuned && livefe->sameTsidOnid(channel->getTransponderId()))
|
||||||
return livefe;
|
return livefe;
|
||||||
@@ -533,7 +534,7 @@ CFrontend * CFEManager::getFrontend(CZapitChannel * channel)
|
|||||||
}
|
}
|
||||||
if (fe->tuned && fe->sameTsidOnid(channel->getTransponderId())) {
|
if (fe->tuned && fe->sameTsidOnid(channel->getTransponderId())) {
|
||||||
FEDEBUG("fe %d on the same TP", fe->fenumber);
|
FEDEBUG("fe %d on the same TP", fe->fenumber);
|
||||||
return same_tid_fe;
|
return fe;
|
||||||
}
|
}
|
||||||
if (!loop_busy && fe->getMode() != CFrontend::FE_MODE_LINK_TWIN) {
|
if (!loop_busy && fe->getMode() != CFrontend::FE_MODE_LINK_TWIN) {
|
||||||
if (have_loop && !loopCanTune(fe, channel)) {
|
if (have_loop && !loopCanTune(fe, channel)) {
|
||||||
@@ -559,15 +560,14 @@ CFrontend * CFEManager::getFrontend(CZapitChannel * channel)
|
|||||||
if(mfe->Locked()) {
|
if(mfe->Locked()) {
|
||||||
if(mfe->tuned && mfe->sameTsidOnid(channel->getTransponderId())) {
|
if(mfe->tuned && mfe->sameTsidOnid(channel->getTransponderId())) {
|
||||||
FEDEBUG("fe %d on the same TP", mfe->fenumber);
|
FEDEBUG("fe %d on the same TP", mfe->fenumber);
|
||||||
return same_tid_fe;
|
return mfe;
|
||||||
}
|
}
|
||||||
} else if(!free_frontend)
|
} else if(!free_frontend)
|
||||||
free_frontend = mfe;
|
free_frontend = mfe;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CFrontend * ret = same_tid_fe ? same_tid_fe : free_frontend;
|
FEDEBUG("Selected fe: %d", free_frontend ? free_frontend->fenumber : -1);
|
||||||
FEDEBUG("Selected fe: %d", ret ? ret->fenumber : -1);
|
return free_frontend;
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int CFEManager::getDemux(transponder_id_t id)
|
int CFEManager::getDemux(transponder_id_t id)
|
||||||
|
Reference in New Issue
Block a user