Changeset 619:d849d6ee4cfe in roaraudio


Ignore:
Timestamp:
08/20/08 02:10:54 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added full block encoding support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/codecfilter_speex.c

    r618 r619  
    201201 int need_extra; 
    202202 
     203 ROAR_DBG("cf_speex_write(inst=%p, buf=%p, len=%i) = ?", inst, buf, len); 
     204 
    203205 if ( ! self->encoder ) { 
    204206  if ( stream_vio_s_write(self->stream, ROAR_SPEEX_MAGIC, ROAR_SPEEX_MAGIC_LEN) != ROAR_SPEEX_MAGIC_LEN ) 
     
    268270 // TODO: do we realy need such a loop? 
    269271 while (len > fs2) { 
    270   ROAR_WARN("cf_speex_write(*): Discarding a full block of data as non-o_rest encoding is not supported!"); 
     272//  ROAR_WARN("cf_speex_write(*): Discarding a full block of data as non-o_rest encoding is not supported!"); 
     273//  ROAR_WARN("cf_speex_write(*): Block info: len=%i, fs2=%i", len, fs2); 
     274 
     275  speex_bits_reset(&(self->bits)); 
     276 
     277  speex_encode_int(self->encoder, (spx_int16_t *) buf, &(self->bits)); 
     278 
     279  tmp = mode = speex_bits_write(&(self->bits), self->cd, fs2); 
     280 
     281  mode = ROAR_HOST2NET16(mode); 
     282 
     283  stream_vio_s_write(self->stream, &mode, 2); 
     284 
     285  if ( stream_vio_s_write(self->stream, self->cd, tmp) != tmp ) 
     286   return -1; 
     287 
    271288  len -= fs2; 
    272289  buf += fs2; 
Note: See TracChangeset for help on using the changeset viewer.