mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-09-01 18:01:06 +02:00
zapit/src/femanager.cpp: ifdef dynamic demux allocation, it disabled atm
Origin commit data
------------------
Commit: cc2e3862ad
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2013-02-26 (Tue, 26 Feb 2013)
This commit is contained in:
@@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
#define MAX_FE 4
|
#define MAX_FE 4
|
||||||
#define MAX_ADAPTERS 1
|
#define MAX_ADAPTERS 1
|
||||||
|
//#define DYNAMIC_DEMUX
|
||||||
//#define MAKE_FE_KEY(adapter, number) ((adapter << 8) | (number & 0xFF))
|
//#define MAKE_FE_KEY(adapter, number) ((adapter << 8) | (number & 0xFF))
|
||||||
|
|
||||||
#define FECONFIGFILE CONFIGDIR "/zapit/frontend.conf"
|
#define FECONFIGFILE CONFIGDIR "/zapit/frontend.conf"
|
||||||
|
@@ -570,6 +570,7 @@ CFrontend * CFEManager::getFrontend(CZapitChannel * channel)
|
|||||||
return free_frontend;
|
return free_frontend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DYNAMIC_DEMUX
|
||||||
int CFEManager::getDemux(transponder_id_t id)
|
int CFEManager::getDemux(transponder_id_t id)
|
||||||
{
|
{
|
||||||
for (unsigned int i = 1; i < dmap.size(); i++) {
|
for (unsigned int i = 1; i < dmap.size(); i++) {
|
||||||
@@ -608,6 +609,7 @@ bool CFEManager::haveFreeDemux()
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
#endif // DYNAMIC_DEMUX
|
||||||
|
|
||||||
CFrontend * CFEManager::allocateFE(CZapitChannel * channel, bool forrecord)
|
CFrontend * CFEManager::allocateFE(CZapitChannel * channel, bool forrecord)
|
||||||
{
|
{
|
||||||
@@ -616,6 +618,7 @@ CFrontend * CFEManager::allocateFE(CZapitChannel * channel, bool forrecord)
|
|||||||
fedebug = 1;
|
fedebug = 1;
|
||||||
CFrontend * frontend = getFrontend(channel);
|
CFrontend * frontend = getFrontend(channel);
|
||||||
if (frontend) {
|
if (frontend) {
|
||||||
|
#ifdef DYNAMIC_DEMUX
|
||||||
int dnum = getDemux(channel->getTransponderId());
|
int dnum = getDemux(channel->getTransponderId());
|
||||||
INFO("record demux: %d", dnum);
|
INFO("record demux: %d", dnum);
|
||||||
channel->setRecordDemux(dnum);
|
channel->setRecordDemux(dnum);
|
||||||
@@ -624,6 +627,11 @@ CFrontend * CFEManager::allocateFE(CZapitChannel * channel, bool forrecord)
|
|||||||
} else {
|
} else {
|
||||||
cDemux::SetSource(dnum, frontend->fenumber);
|
cDemux::SetSource(dnum, frontend->fenumber);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
channel->setRecordDemux(frontend->fenumber+1);
|
||||||
|
cDemux::SetSource(frontend->fenumber+1, frontend->fenumber);
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
return frontend;
|
return frontend;
|
||||||
}
|
}
|
||||||
@@ -675,9 +683,11 @@ bool CFEManager::lockFrontend(CFrontend * frontend, CZapitChannel * channel)
|
|||||||
have_locked = true;
|
have_locked = true;
|
||||||
|
|
||||||
if (channel) {
|
if (channel) {
|
||||||
|
#ifdef DYNAMIC_DEMUX
|
||||||
int di = channel->getRecordDemux();
|
int di = channel->getRecordDemux();
|
||||||
if ((unsigned int) di < dmap.size())
|
if ((unsigned int) di < dmap.size())
|
||||||
dmap[di].Lock(channel->getTransponderId());
|
dmap[di].Lock(channel->getTransponderId());
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -688,12 +698,14 @@ bool CFEManager::unlockFrontend(CFrontend * frontend, bool unlock_demux)
|
|||||||
have_locked = false;
|
have_locked = false;
|
||||||
frontend->Unlock();
|
frontend->Unlock();
|
||||||
if (unlock_demux) {
|
if (unlock_demux) {
|
||||||
|
#ifdef DYNAMIC_DEMUX
|
||||||
for (unsigned int i = 1; i < dmap.size(); i++) {
|
for (unsigned int i = 1; i < dmap.size(); i++) {
|
||||||
if(dmap[i].tpid == frontend->getTsidOnid()) {
|
if(dmap[i].tpid == frontend->getTsidOnid()) {
|
||||||
dmap[i].Unlock();
|
dmap[i].Unlock();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
for(fe_map_iterator_t it = femap.begin(); it != femap.end(); it++) {
|
for(fe_map_iterator_t it = femap.begin(); it != femap.end(); it++) {
|
||||||
CFrontend * fe = it->second;
|
CFrontend * fe = it->second;
|
||||||
|
Reference in New Issue
Block a user