Changeset 1766 for trunk/reader-dre.c


Ignore:
Timestamp:
Mar 4, 2010, 1:13:16 PM (10 years ago)
Author:
landlord
Message:

New EMM processing, so they can be filtered for DVB API, thanks to dingo35.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/reader-dre.c

    r1635 r1766  
    245245      reader[ridx].sa[0][3], cs_hexdump (0, reader[ridx].hexserial + 2, 4));
    246246
    247   //reader[ridx].nprov = 1; TODO doesnt seem necessary
     247  reader[ridx].nprov = 1;
    248248
    249249  if (!dre_set_provider_info ())
     
    302302}
    303303
     304int dre_get_emm_type(EMM_PACKET *ep)
     305{
     306  switch (ep->emm[0]) {
     307        case 0x87:
     308            ep->type = UNIQUE; //FIXME no filling of ep->hexserial
     309            break;
     310        case 0x89:
     311            ep->type = SHARED; //FIXME no filling of ep->hexserial
     312            break;
     313        default:
     314            ep->type = UNKNOWN;
     315    }
     316    return TRUE; //FIXME no checking of serial or SA
     317}
     318   
     319
    304320int dre_do_emm (EMM_PACKET * ep)
    305321{
     
    334350    };
    335351        int i;
    336         switch (ep->emm[0]) {
    337             case 0x87: //unique EMM
     352        switch (ep->type) {
     353            case UNIQUE:
    338354            for (i = 0; i < 2; i++) {
    339355                    memcpy (emmcmd42 + 1, ep->emm + 42 + i*49, 48);
     
    347363                }
    348364                break;
    349             case 0x89: //shared EMM
     365            case SHARED:
    350366            default:
    351367            memcpy (emmcmd42 + 1, ep->emm + 6, 48);
Note: See TracChangeset for help on using the changeset viewer.