Changeset 2176:c8fe291eaa53 in roaraudio


Ignore:
Timestamp:
07/26/09 17:41:30 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

wrote basic codec

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/transcode.c

    r2174 r2176  
    3939}; 
    4040 
    41 int roar_xcoder_init(struct roar_xcoder * state, int encoder, struct roar_audio_info * info, struct roar_vio_calls * vio); 
     41int roar_xcoder_init(struct roar_xcoder * state, int encoder, struct roar_audio_info * info, struct roar_vio_calls * vio) { 
     42 int i; 
     43 
     44 if ( state == NULL || info == NULL ) 
     45  return -1; 
     46 
     47 memset(state, 0, sizeof(struct roar_xcoder)); 
     48 
     49 for (i = 0; g_xcoders[i].codec != -1; i++) { 
     50  if ( g_xcoders[i].codec == info->codec ) { 
     51   state->entry = &(g_xcoders[i]); 
     52   break; 
     53  } 
     54 } 
     55 
     56 if ( state->entry == NULL ) 
     57  return -1; 
     58 
     59 state->stage      = ROAR_XCODER_STAGE_NONE; 
     60 state->encode     = encoder; 
     61 state->packet_len = -1; 
     62 
     63 if ( roar_xcoder_set_backend(state, vio) == -1 ) 
     64  return -1; 
     65 
     66 memcpy(&(state->info.coded), info, sizeof(struct roar_audio_info)); 
     67 memcpy(&(state->info.pcm  ), info, sizeof(struct roar_audio_info)); 
     68 
     69 state->info.pcm.codec = ROAR_CODEC_DEFAULT; 
     70 
     71 if ( _FUNC(init) == NULL ) 
     72  return -1; 
     73 
     74 if ( _FUNC(init)(state) != 0 ) 
     75  return -1; 
     76 
     77 state->stage      = ROAR_XCODER_STAGE_INITED; 
     78 
     79 return 0; 
     80} 
     81 
    4282int roar_xcoder_set_backend(struct roar_xcoder * state, struct roar_vio_calls * vio) { 
    4383 _CHECK(); 
     
    78118} 
    79119 
    80 int roar_xcoder_proc_packet(struct roar_xcoder * state, void * buf, size_t len); 
     120int roar_xcoder_proc_packet(struct roar_xcoder * state, void * buf, size_t len) { 
     121 _CHECK(); 
     122 
     123 if ( state->encode ) { 
     124  _CHECK_BASIC(encode); 
     125  return _FUNC(encode)(state, buf, len); 
     126 } else { 
     127  _CHECK_BASIC(decode); 
     128  return _FUNC(decode)(state, buf, len); 
     129 } 
     130} 
     131 
    81132int roar_xcoder_proc       (struct roar_xcoder * state, void * buf, size_t len) { 
    82133 return -1; 
Note: See TracChangeset for help on using the changeset viewer.