Changeset 855:f2ea73faae80 in roaraudio for roard/mixer.c


Ignore:
Timestamp:
09/28/08 23:14:13 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support for changeing volume on 32 bit int

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/mixer.c

    r854 r855  
    204204 
    205205int change_vol_32bit (void * output, void * input, int samples, int channels, struct roar_mixer_settings * set) { 
    206  return -1; 
     206#ifdef ROAR_NATIVE_INT64 
     207 int32_t * in = input, * out = output; 
     208 int       i; 
     209 ROAR_NATIVE_INT64 s; 
     210 
     211 if ( !(in && out) ) 
     212  return -1; 
     213 
     214 if (set->rpg_mul == set->rpg_div) { 
     215  for (i = 0; i < samples; i++) { 
     216   s  = in[i]; 
     217   s *= set->mixer[i % channels]; 
     218   s /= set->scale; 
     219   out[i] = s; 
     220  } 
     221 } else { 
     222  for (i = 0; i < samples; i++) { 
     223   s  = in[i]; 
     224   s *= (set->mixer[i % channels] * set->rpg_mul) / set->rpg_div; 
     225   s /= set->scale; 
     226   out[i] = s; 
     227  } 
     228 } 
     229 
     230 return 0; 
     231#else 
     232 return -1; 
     233#endif 
    207234} 
    208235 
Note: See TracChangeset for help on using the changeset viewer.