Changeset 1588:b8e7362f4123 in roaraudio


Ignore:
Timestamp:
04/16/09 00:01:29 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

wrote some basic code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/filter_swap.c

    r1587 r1588  
    2626 
    2727int roardsp_swap_init   (struct roardsp_filter * filter, struct roar_stream * stream, int id) { 
    28  return -1; 
     28 struct roardsp_swap * inst = malloc(sizeof(struct roardsp_swap)); 
     29 
     30 ROAR_WARN("roardsp_swap_init(*): inst=%p", inst); 
     31 
     32 if ( inst == NULL ) { 
     33  ROAR_ERR("roardsp_swap_init(*): Can not alloc memory for filter swap: %s", strerror(errno)); 
     34  filter->inst = NULL; 
     35  return -1; 
     36 } 
     37 
     38 filter->inst = inst; 
     39 
     40 return roardsp_swap_reset(filter, ROARDSP_RESET_FULL); 
    2941} 
    3042 
    3143int roardsp_swap_uninit (struct roardsp_filter * filter) { 
    32  return -1; 
     44 if ( filter == NULL ) 
     45  return -1; 
     46 
     47 if ( filter->inst == NULL ) 
     48  return -1; 
     49 
     50 free(filter->inst); 
     51 
     52 return 0; 
    3353} 
    3454 
    3555int roardsp_swap_calc162(struct roardsp_filter * filter, void * data, size_t samples) { 
    36  return -1; 
     56 int16_t * d = data; 
     57 register int16_t s; 
     58 int i; 
     59 
     60 for (i = 0; i < samples; i += 2) { 
     61  ROAR_WARN("roardsp_swap_calc162(*): d[i]=%i, d[i+1]=%i", d[i], d[i+1]); 
     62  s      = d[i]; 
     63  d[i]   = d[i+1]; 
     64  d[i+1] = s; 
     65 } 
     66 
     67 return 0; 
    3768} 
    3869 
     
    4273 
    4374int roardsp_swap_reset  (struct roardsp_filter * filter, int what) { 
     75 struct roardsp_swap * inst = NULL; 
     76 int i; 
     77 
     78 if ( filter == NULL ) 
     79  return -1; 
     80 
     81 if ( (inst = filter->inst) == NULL ) 
     82  return -1; 
     83 
     84 switch (what) { 
     85  case ROARDSP_RESET_NONE: 
     86  case ROARDSP_RESET_STATE: 
     87    return  0; 
     88   break; 
     89  case ROARDSP_RESET_FULL: 
     90    memset(inst, 0, sizeof(struct roardsp_swap)); 
     91 
     92    for (i = 0; i < ROAR_MAX_CHANNELS; i++) 
     93     inst->map[i] = i; 
     94 
     95    inst->map[0] = 1; 
     96    inst->map[1] = 0; 
     97    return  0; 
     98   break; 
     99  default: 
     100    return -1; 
     101 } 
     102 
    44103 return -1; 
    45104} 
Note: See TracChangeset for help on using the changeset viewer.