capmt.cpp: enable CI for recording only if necessary

This commit is contained in:
FlatTV
2019-03-24 18:50:38 +01:00
committed by Thilo Graf
parent db5c17f5a0
commit 7b54b1dfb1

View File

@@ -326,7 +326,13 @@ bool CCamManager::SetMode(t_channel_id channel_id, enum runmode mode, bool start
cam->makeCaPmt(channel, false, list, caids); cam->makeCaPmt(channel, false, list, caids);
int len; int len;
unsigned char * buffer = channel->getRawPmt(len); unsigned char * buffer = channel->getRawPmt(len);
cam->sendCaPmt(channel->getChannelID(), buffer, len, CA_SLOT_TYPE_CI, channel->scrambled, channel->camap, mode, start); if(!filter_channels || !channel->bUseCI) {
//no CI needed
ca_map_t no_camap = std::set<int>();
cam->sendCaPmt(channel->getChannelID(), buffer, len, CA_SLOT_TYPE_CI, false /*channel->scrambled*/, no_camap /*channel->camap*/, mode, start);
} else {
cam->sendCaPmt(channel->getChannelID(), buffer, len, CA_SLOT_TYPE_CI, channel->scrambled, channel->camap, mode, start);
}
} else { } else {
cam->sendCaPmt(channel->getChannelID(), NULL, 0, CA_SLOT_TYPE_CI, channel->scrambled, channel->camap, mode, start); cam->sendCaPmt(channel->getChannelID(), NULL, 0, CA_SLOT_TYPE_CI, channel->scrambled, channel->camap, mode, start);
} }