Changeset 615:5df24d5c701f in roaraudio


Ignore:
Timestamp:
08/20/08 01:34:50 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added some encoder init code

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/codecfilter.c

    r613 r615  
    3434#ifdef ROAR_HAVE_LIBSPEEX 
    3535 {ROAR_CODEC_ROAR_SPEEX, "RoarSPEEX", "RoarAudio SPEEX", NULL, ROAR_CODECFILTER_READ, 
    36   cf_speex_open, cf_speex_close, NULL, NULL, cf_speex_read, NULL}, 
     36  cf_speex_open, cf_speex_close, NULL, cf_speex_write, cf_speex_read, NULL}, 
    3737#endif 
    3838 
  • roard/codecfilter_speex.c

    r614 r615  
    193193int cf_speex_write(CODECFILTER_USERDATA_T   inst, char * buf, int len) { 
    194194 struct codecfilter_speex_inst * self = (struct codecfilter_speex_inst *) inst; 
     195 uint16_t mode = ROAR_SPEEX_MODE_UWB; 
     196 int tmp; 
     197 
     198 if ( ! self->encoder ) { 
     199  if ( stream_vio_s_write(self->stream, ROAR_SPEEX_MAGIC, ROAR_SPEEX_MAGIC_LEN) != ROAR_SPEEX_MAGIC_LEN ) 
     200   return -1; 
     201 
     202  if ( mode == ROAR_SPEEX_MODE_NB ) { 
     203   self->encoder = speex_encoder_init(&speex_nb_mode); 
     204  } else if ( mode == ROAR_SPEEX_MODE_WB ) { 
     205   self->encoder = speex_encoder_init(&speex_wb_mode); 
     206  } else if ( mode == ROAR_SPEEX_MODE_UWB ) { 
     207   self->encoder = speex_encoder_init(&speex_uwb_mode); 
     208  } 
     209 
     210  mode = ROAR_HOST2NET16(mode); 
     211 
     212  if ( stream_vio_s_write(self->stream, &mode, 2) != 2 ) 
     213   return -1; 
     214 
     215  tmp = 8; 
     216  speex_encoder_ctl(self->encoder, SPEEX_SET_QUALITY,    &tmp); 
     217  speex_encoder_ctl(self->encoder, SPEEX_GET_FRAME_SIZE, &(self->frame_size)); 
     218 
     219 } 
    195220 
    196221 return -1; 
Note: See TracChangeset for help on using the changeset viewer.