Changeset 2006


Ignore:
Timestamp:
04/07/10 20:52:11 (12 years ago)
Author:
_network
Message:

-fix nagra demux filter
-dvbapi: try to fix dm7025 pip and add some debug messages

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/module-dvbapi.c

    r2001 r2006  
    907907    type[1]=1;
    908908
     909    cs_debug("dvbapi: starting main loop");
     910
    909911    while (1) {
    910912        if (master_pid!=getppid())
     
    914916
    915917        chk_pending(tp);
     918
     919        cs_debug_mask(D_FUT, "dvbapi: collect devices");
    916920
    917921        for (i=0;i<MAX_DEMUX;i++) {
     
    933937        }
    934938
     939        cs_debug_mask(D_FUT, "dvbapi: starting poll");
    935940        rc = poll(pfd2, pfdcount, 500);
    936941   
    937942        if (rc<1) continue;
     943        cs_debug_mask(D_FUT, "dvbapi: got event %d", rc);
    938944
    939945        for (i = 0; i < pfdcount; i++) {
     
    975981                            continue;
    976982                        }
    977 
    978                         // if message begins with an apdu_tag and is longer than three bytes
    979                         if ((mbuf[0] == 0x9F) && ((mbuf[1] >> 7) == 0x01) && ((mbuf[2] >> 7) == 0x00))
    980                             dvbapi_handlesockmsg(mbuf, len, connfd);
    981                         else
    982                             cs_debug("dvbapi: invaild capmt");
    983983                    } else {
    984984                        cs_log("dvbapi: New capmt on old socket. Please report.");
     985                        connfd=pfd2[i].fd;
    985986                        len = read(pfd2[i].fd, mbuf, sizeof(mbuf));
    986987                        cs_dump(mbuf, len, "message:");
    987988                    }
     989                    // if message begins with an apdu_tag and is longer than three bytes
     990                    if ((mbuf[0] == 0x9F) && ((mbuf[1] >> 7) == 0x01) && ((mbuf[2] >> 7) == 0x00))
     991                        dvbapi_handlesockmsg(mbuf, len, connfd);
     992                    else
     993                        cs_debug("dvbapi: invaild capmt");
    988994                } else { // type==0
    989995                    if ((len=dvbapi_read_device(pfd2[i].fd, mbuf, sizeof(mbuf), 0)) <= 0)
  • trunk/reader-nagra.c

    r1977 r2006  
    759759            break;
    760760        case SHARED:
     761            filter[0]    = 0x83;
     762            filter[0+16] = 0xFF;
     763            memcpy(filter+1, rdr->hexserial+2, 3);
     764            memset(filter+1+16, 0xFF, 3);
     765            filter[4]    = 0x00;
     766            filter[4+16] = 0xFF;
     767            filter[5]    = 0x10;
     768            filter[5+16] = 0xFF;
     769            break;
    761770        case UNIQUE:
    762771            filter[0]    = 0x83;
    763772            filter[0+16] = 0xFF;
    764             //filter[1]    = rdr->hexserial[4] & 0xFF;
    765             //filter[1+16] = 0xFF;
    766             filter[2]    = rdr->hexserial[3] & 0xFF;
    767             filter[2+16] = 0xFF;
    768             filter[3]    = rdr->hexserial[2] & 0xFF;
     773            memcpy(filter+1, rdr->hexserial+2, 3);
     774            memset(filter+1+16, 0xFF, 3);
    769775            filter[3+16] = 0xFF;
     776            filter[4]    = rdr->hexserial[5] & 0xFF;
     777            filter[4+16] = 0xFF;
     778            filter[5]    = 0x00;
     779            filter[5+16] = 0xFF;
    770780            break;
    771781    }
Note: See TracChangeset for help on using the changeset viewer.