Changeset 818:063e70897697 in roaraudio for roard/codecfilter_alaw.c


Ignore:
Timestamp:
09/18/08 16:59:49 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added write support to alaw codec filter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/codecfilter_alaw.c

    r783 r818  
    5656 
    5757int cf_alaw_write(CODECFILTER_USERDATA_T   inst, char * buf, int len) { 
    58  struct codecfilter_wave_inst * self = (struct codecfilter_wave_inst *) inst; 
     58 struct roar_stream_server * s = ROAR_STREAM_SERVER(inst); 
     59 char * out; 
    5960 
    60  return 0; 
     61 // TODO: add a more effect way to use memory than allways alloc/freeing it. 
     62 //       maybe by keeping a buffer over instanzes or by using ca global buffer 
     63 //       with an refrenze counter so we can free it on last use 
     64 
     65 len /= 2; 
     66 
     67 if ( (out = (char*)malloc(len)) == NULL ) 
     68  return -1; 
     69 
     70 roardsp_conv_pcm162alaw(out, (int16_t*)buf, len); 
     71 
     72 len = stream_vio_s_write(s, out, len); 
     73 
     74 free(out); 
     75 
     76 if ( len > 0 ) { 
     77  return len*2; 
     78 } else { 
     79  return -1; 
     80 } 
    6181} 
    6282 
Note: See TracChangeset for help on using the changeset viewer.