X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fdvb_ci%2Fdvbci_session.cpp;h=1bd3d18b96ba16de6454f3e283a0730eb70524a6;hp=a0171a3dff407f8d2772801d42c22c612983a44c;hb=7fcee9d52e615789975fd049a6c5d5eb5a34faa2;hpb=edddbb8134523b087f6585868b281e88732d3bc7 diff --git a/lib/dvb_ci/dvbci_session.cpp b/lib/dvb_ci/dvbci_session.cpp index a0171a3..1bd3d18 100644 --- a/lib/dvb_ci/dvbci_session.cpp +++ b/lib/dvb_ci/dvbci_session.cpp @@ -136,11 +136,11 @@ eDVBCISession *eDVBCISession::createSession(eDVBCISlot *slot, const unsigned cha printf("session: %p\n",session); break; case 0x00020041: - session=slot->application_manager = new eDVBCIApplicationManagerSession; + session=slot->application_manager = new eDVBCIApplicationManagerSession(slot); printf("APPLICATION MANAGER\n"); break; case 0x00030041: - session=slot->ca_manager=new eDVBCICAManagerSession; + session = new eDVBCICAManagerSession(slot); printf("CA MANAGER\n"); break; case 0x00240041: @@ -293,13 +293,13 @@ void eDVBCISession::receiveData(eDVBCISlot *slot, const unsigned char *ptr, size len-=hlen; //if (eDVBCIModule::getInstance()->workarounds_active & eDVBCIModule::workaroundMagicAPDULength) - //{ - // if (((len-alen) > 0) && ((len - alen) < 3)) - // { - // printf("WORKAROUND: applying work around MagicAPDULength\n"); - // alen=len; - // } - //} + { + if (((len-alen) > 0) && ((len - alen) < 3)) + { + printf("WORKAROUND: applying work around MagicAPDULength\n"); + alen=len; + } + } if (session->receivedAPDU(tag, pkt, alen)) session->action = 1; pkt+=alen;