Changeset 2898:8d125311b6c1 in roaraudio


Ignore:
Timestamp:
10/10/09 17:41:55 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

patch to reduce TCP overhead

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroardsp/transcode_speex.h

    r2894 r2898  
    4949 int         stereo; 
    5050 int frame_size; 
    51  char       cc[ROAR_SPEEX_MAX_CC]; /* buffer for read() and write() */ 
     51 char       cc[ROAR_SPEEX_MAX_CC+2]; /* buffer for read() and write() + 2 byte for pkg length */ 
    5252 struct roar_libroar_config_codec * codec_config; 
    5353 int    max_cc; 
  • libroardsp/transcode_speex.c

    r2894 r2898  
    166166 speex_encode_int(self->xcoder, (spx_int16_t *) buf, &(self->bits)); 
    167167 
    168  pkg_len = speex_bits_write(&(self->bits), self->cc, self->max_cc); 
    169  
    170  tmp_net = ROAR_HOST2NET16(pkg_len); 
    171  
    172  if ( roar_vio_write(state->backend, &tmp_net, 2) != 2 ) 
    173   return -1; 
    174  
    175  if ( roar_vio_write(state->backend, self->cc, pkg_len) != pkg_len ) 
     168 pkg_len = speex_bits_write(&(self->bits), self->cc + 2, self->max_cc); 
     169 
     170 *((uint16_t*)self->cc) = ROAR_HOST2NET16(pkg_len); 
     171 
     172 if ( roar_vio_write(state->backend, self->cc, pkg_len + 2) != (pkg_len + 2) ) 
    176173   return -1; 
    177174 
Note: See TracChangeset for help on using the changeset viewer.