Changeset 3286:36a0d0f34b7e in roaraudio


Ignore:
Timestamp:
02/01/10 14:35:49 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

honor MTU

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/vio_rtp.c

    r3285 r3286  
    139139 
    140140 ROAR_DBG("roar_vio_rtp_write(vio=%p, buf=%p, count=%llu) = ?", vio, buf, (long long unsigned)count); 
     141 
     142 if ( self->mtu < (sizeof(struct roar_rtp_header) + self->bpf) ) 
     143  return -1; 
     144 
     145 if ( len_need > self->mtu ) { 
     146  len_have = 0; 
     147  ret      = 0; 
     148 
     149  while (count) { 
     150   len_need = self->mtu - sizeof(struct roar_rtp_header); 
     151 
     152   if ( count < len_need ) 
     153    len_need = count; 
     154 
     155   if ( (ret = roar_vio_rtp_write(vio, buf, len_need)) == -1 ) 
     156    break; 
     157 
     158   len_have += ret; 
     159   buf      += ret; 
     160   count    -= ret; 
     161  } 
     162 
     163  return len_have ? len_have : ret; 
     164 } 
    141165 
    142166 if ( self->tx == NULL ) { 
Note: See TracChangeset for help on using the changeset viewer.