add channelid-check (thx DboxOldie)

This commit is contained in:
max10
2016-06-15 19:55:18 +02:00
parent 0215a673f5
commit ffd0f972f9
3 changed files with 13 additions and 0 deletions

View File

@@ -117,6 +117,7 @@ public:
void InputAnswer(enum CA_SLOT_TYPE, uint32_t Slot, uint8_t * Data, int Len); void InputAnswer(enum CA_SLOT_TYPE, uint32_t Slot, uint8_t * Data, int Len);
void MenuClose(enum CA_SLOT_TYPE, uint32_t Slot); void MenuClose(enum CA_SLOT_TYPE, uint32_t Slot);
void SetTSClock(u32 /*Speed*/) { return; }; void SetTSClock(u32 /*Speed*/) { return; };
bool checkChannelID(u64 /*chanID*/) { return false; };
virtual ~cCA(); virtual ~cCA();
}; };

View File

@@ -1285,3 +1285,14 @@ bool cCA::CheckCerts(void)
} }
return Cert_OK; return Cert_OK;
} }
bool cCA::checkChannelID(u64 chanID)
{
std::list<tSlot*>::iterator it;
for (it = slot_data.begin(); it != slot_data.end(); ++it)
{
if ((*it)->tpid == chanID && !(*it)->SidBlackListed)
return true;
}
return false;
}

View File

@@ -294,6 +294,7 @@ public:
bool checkQueueSize(tSlot* slot); bool checkQueueSize(tSlot* slot);
void process_tpdu(tSlot* slot, unsigned char tpdu_tag, __u8* data, int asn_data_length, int con_id); void process_tpdu(tSlot* slot, unsigned char tpdu_tag, __u8* data, int asn_data_length, int con_id);
bool checkChannelID(u64 chanID);
unsigned int GetLiveSlot(void); unsigned int GetLiveSlot(void);
bool SendNullPMT(tSlot* slot); bool SendNullPMT(tSlot* slot);
bool CheckCerts(void); bool CheckCerts(void);