Changeset 3083

Show
Ignore:
Timestamp:
01/29/00 15:42:43 (15 years ago)
Author:
ucacoxh
Message:

- Typo corrections from Dimitris.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • rat/trunk/auddev_atm.c

    r3082 r3083  
    240240        char cellbuf[ADA_CELL_SZ]; 
    241241 
    242         UNUSED(ad); assert(audio_fd > 0); 
    243  
    244242        assert(dev_info.rxresidue_bytes >= 0); 
     243        assert(dev_info.rx_residue_bytes < sizeof(dev_info.rxresidue_buf)); 
     244 
    245245        if (dev_info.rxresidue_bytes > 0) { 
    246246                if (buf_bytes >= dev_info.rxresidue_bytes) { 
    247247                        /* big read that completely drains the residue */ 
    248248                        memcpy(buf, dev_info.rxresidue, dev_info.rxresidue_bytes); 
    249                         done                    += dev_info.rxresidue.bytes; 
     249                        done                    += dev_info.rxresidue_bytes; 
    250250                        dev_info.rxresidue       = dev_info.rxresidue_buf; 
    251                         dev_info.rxresidue.bytes = 0; 
     251                        dev_info.rxresidue_bytes = 0; 
     252                        debug_msg("read big\n"); 
    252253                } else { 
    253254                        /* little read */ 
     
    256257                        dev_info.rxresidue       += buf_bytes; 
    257258                        done                     += buf_bytes; 
     259                        debug_msg("read small\n"); 
    258260                } 
    259261        } 
     
    267269                        break; 
    268270                } 
    269                 assert(len == CELL_SZ); 
     271                assert(len == ADA_CELL_SZ); 
    270272                memcpy(buf + done, cellbuf + ADA_CELL_HEADER_SZ, ADA_CELL_SZ - ADA_CELL_HEADER_SZ); 
    271273                done += ADA_CELL_SZ - ADA_CELL_HEADER_SZ; 
     274                debug_msg("read frame %d\n", (int)cellbuf[4]); 
    272275        } 
    273276         
     
    289292 
    290293                over = buf_bytes - done; 
    291                 assert(over < ADA_CELL_SZ); 
     294                assert(over <= ADA_CELL_SZ - ADA_CELL_HEADER_SZ); 
    292295 
    293296                memcpy(dev_info.rxresidue,  
     
    295298                       sizeof(cellbuf) - over); 
    296299                dev_info.residue_bytes = over; 
     300                debug_msg("read residue %d\n", over); 
    297301        } 
    298302        return done; 
     
    304308{ 
    305309        int done; 
    306         unsigned char cellbuf[52]; 
     310        unsigned char cellbuf[ADA_CELL_SZ]; 
    307311 
    308312        UNUSED(ad); assert(audio_fd > 0); 
     
    313317         * and then fill the cell from the buffer, fixing pointers and counts 
    314318         */ 
    315         if (dev_info.txresidue_bytes > 0 && buf_bytes + dev_info.txresidue_bytes > ADA_CELL_SZ - ADA_CELL_HEADER_SZ) { 
     319        if (dev_info.txresidue_bytes > 0 &&  
     320            (buf_bytes + dev_info.txresidue_bytes) > (ADA_CELL_SZ - ADA_CELL_HEADER_SZ)) { 
    316321                int rem = ADA_CELL_SZ - ADA_CELL_HEADER_SZ - dev_info.txresidue_bytes; 
     322                /* Fill in header */ 
    317323                memcpy(cellbuf, &dev_info.atmhdr, 4); 
    318324                cellbuf[4] = aal1hdr[dev_info.seqno]; 
    319                 dev_info.seq_no = (dev_info.seqno + 1) & 0x07; /* values 0-7 valid */ 
    320                 memcpy(cellbuf + ATM_CELL_HEADER_SZ, dev_info.txresidue, dev_info.txresidue_bytes); 
    321                 memcpy(cellbuf + ATM_CELL_HEADER_SZ + dev_info.txresidue_bytes, buf, rem); 
    322                 write(audio_fd, (char *)cellbuf, ATM_CELL_SZ); 
     325                dev_info.seqno = (dev_info.seqno + 1) & 0x07; /* values 0-7 valid */ 
     326                /* Fill in data   */ 
     327                assert(dev_info.txresidue_bytes <= ADA_CELL_SZ - ADA_CELL_HEADER_SZ); 
     328                memcpy(cellbuf + ADA_CELL_HEADER_SZ, dev_info.txresidue, dev_info.txresidue_bytes); 
     329                if (rem > 0) { 
     330                        memcpy(cellbuf + ADA_CELL_HEADER_SZ + dev_info.txresidue_bytes, buf, rem); 
     331                } 
     332                write(audio_fd, (char *)cellbuf, ADA_CELL_SZ); 
    323333                dev_info.txresidue_bytes = 0; 
     334                debug_msg("wrote frame %d using residue\n", dev_info.seqno); 
    324335                done += rem; 
     336 
    325337        } 
    326338 
     
    331343                write(audio_fd, (char *)cellbuf, ADA_CELL_SZ); 
    332344                done += ADA_CELL_SZ - ADA_CELL_HEADER_SZ; 
    333                 dev_info.seq_no = (dev_info.seqno + 1) & 0x07; /* values 0-7 valid */ 
     345                debug_msg("Wrote frame %d %d %d\n", dev_info.seqno, done, buf_bytes); 
     346                dev_info.seqno = (dev_info.seqno + 1) & 0x07; /* values 0-7 valid */ 
    334347        } 
    335348 
    336349        if (buf_bytes - done > 0) { 
    337350                dev_info.txresidue_bytes = done - buf_bytes; 
     351                assert(dev_info.txresidue_bytes <= ADA_CELL_SZ - ADA_CELL_HEADER_SZ); 
    338352                memcpy(dev_info.txresidue, buf + done, dev_info.txresidue_bytes); 
    339353        } 
     354 
     355        debug_msg("write residue left over %d\n", buf_bytes - done); 
    340356 
    341357        return buf_bytes;