Changeset 4179:6c778830ad9b in roaraudio


Ignore:
Timestamp:
08/14/10 14:47:45 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

clip volume scale on small error and error out on big error

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/vs.c

    r4178 r4179  
    342342 struct roar_mixer_settings mixer; 
    343343 size_t i; 
     344 register float s; 
    344345 
    345346 if ( !(vss->flags & FLAG_STREAM) ) { 
     
    353354 } 
    354355 
    355  for (i = 0; i < channels; i++) 
    356   mixer.mixer[i] = c[i] * 65535.0; 
     356 for (i = 0; i < channels; i++) { 
     357  s = c[i] * 65535.0; 
     358  if ( s > 66190.0 || s < -655.0 ) { 
     359   _seterr(ROAR_ERROR_RANGE); 
     360   return -1; 
     361  } else if ( s > 65535.0 ) { 
     362   s = 65535.0; 
     363  } else if ( s <     0.0 ) { 
     364   s = 0.0; 
     365  } 
     366  mixer.mixer[i] = s; 
     367 } 
    357368 
    358369 mixer.scale = 65535; 
Note: See TracChangeset for help on using the changeset viewer.