mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-libstb-hal.git
synced 2025-08-26 23:12:44 +02:00
Improve CI handling (thx DboxOldie)
Origin commit data
------------------
Branch: master
Commit: 192f42304e
Author: max_10 <max_10@gmx.de>
Date: 2016-09-18 (Sun, 18 Sep 2016)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -703,6 +703,7 @@ SlotIt cCA::FindFreeSlot(u64 TP, u8 source, u16 SID, ca_map_t camap, unsigned ch
|
|||||||
|
|
||||||
for (it = slot_data.begin(); it != slot_data.end(); ++it)
|
for (it = slot_data.begin(); it != slot_data.end(); ++it)
|
||||||
{
|
{
|
||||||
|
bool tmpSidBlackListed = false;
|
||||||
bool recordUse_found = false;
|
bool recordUse_found = false;
|
||||||
bool liveUse_found = false;
|
bool liveUse_found = false;
|
||||||
int found_count = 0;
|
int found_count = 0;
|
||||||
@@ -711,7 +712,7 @@ SlotIt cCA::FindFreeSlot(u64 TP, u8 source, u16 SID, ca_map_t camap, unsigned ch
|
|||||||
if ((*it)->bsids.size())
|
if ((*it)->bsids.size())
|
||||||
{
|
{
|
||||||
for (i = 0; i < (*it)->bsids.size(); i++)
|
for (i = 0; i < (*it)->bsids.size(); i++)
|
||||||
if ((*it)->bsids[i] == SID) {(*it)->SidBlackListed = true; break;}
|
if ((*it)->bsids[i] == SID) {tmpSidBlackListed = true; break;}
|
||||||
if (i == (*it)->bsids.size()) {(*it)->SidBlackListed = false;}
|
if (i == (*it)->bsids.size()) {(*it)->SidBlackListed = false;}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -728,6 +729,23 @@ SlotIt cCA::FindFreeSlot(u64 TP, u8 source, u16 SID, ca_map_t camap, unsigned ch
|
|||||||
|
|
||||||
if ((*it)->camIsReady && (*it)->hasCAManager && (*it)->hasAppManager && !recordUse_found)
|
if ((*it)->camIsReady && (*it)->hasCAManager && (*it)->hasAppManager && !recordUse_found)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (tmpSidBlackListed)
|
||||||
|
{
|
||||||
|
if ((*it)->source == source && (!checkLiveSlot || !liveUse_found))
|
||||||
|
{
|
||||||
|
SendNullPMT((tSlot*)(*it));
|
||||||
|
(*it)->SidBlackListed = true;
|
||||||
|
for (int j = 0; j < CI_MAX_MULTI; j++)
|
||||||
|
(*it)->SID[j] = 0;
|
||||||
|
(*it)->TP = 0;
|
||||||
|
(*it)->scrambled = 0;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (!checkLiveSlot || (!liveUse_found || ((*it)->liveUse[found_count] && (*it)->TP == TP && (*it)->SID[found_count] == SID)))
|
if (!checkLiveSlot || (!liveUse_found || ((*it)->liveUse[found_count] && (*it)->TP == TP && (*it)->SID[found_count] == SID)))
|
||||||
{
|
{
|
||||||
#if x_debug
|
#if x_debug
|
||||||
@@ -736,21 +754,20 @@ SlotIt cCA::FindFreeSlot(u64 TP, u8 source, u16 SID, ca_map_t camap, unsigned ch
|
|||||||
printf("%04x ", (*it)->cam_caids[i]);
|
printf("%04x ", (*it)->cam_caids[i]);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
#endif
|
#endif
|
||||||
(*it)->scrambled = scrambled;
|
|
||||||
|
|
||||||
for (i = 0; i < (*it)->cam_caids.size(); i++)
|
for (i = 0; i < (*it)->cam_caids.size(); i++)
|
||||||
{
|
{
|
||||||
caIt = camap.find((*it)->cam_caids[i]);
|
caIt = camap.find((*it)->cam_caids[i]);
|
||||||
if (caIt != camap.end())
|
if (caIt != camap.end())
|
||||||
{
|
{
|
||||||
printf("Found: %04x\n", *caIt);
|
printf("Found: %04x\n", *caIt);
|
||||||
|
(*it)->scrambled = scrambled;
|
||||||
return it;
|
return it;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//printf("Not Found\n");
|
//printf("Not Found\n");
|
||||||
if (loop_count == count)
|
if (loop_count == count)
|
||||||
return it;
|
(*it)->scrambled = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user