Changeset 3153:1249b2b9781a in roaraudio


Ignore:
Timestamp:
01/15/10 16:24:32 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

corrected OSS volume scale, (WTF wrote wronge values into esddsp.c? next time listen to my fealing which was correct...)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroaross/libroaross.c

    r3152 r3153  
    6464#endif 
    6565 
     66#define OSS_VOLUME_SCALE 100 
     67 
    6668#define _MAX_POINTER  8 
    6769 
     
    480482  case OSS_GETVERSION:               name = "OSS_GETVERSION";               break; 
    481483  case SOUND_MIXER_READ_RECSRC:      name = "SOUND_MIXER_READ_RECSRC";      break; 
    482   case SOUND_MIXER_READ_RECMASK:     name = "SOUND_MIXER_READ_RECMASK";     break; 
    483484  case SOUND_MIXER_READ_STEREODEVS:  name = "SOUND_MIXER_READ_STEREODEVS";  break; 
    484485  case SOUND_MIXER_READ_CAPS:        name = "SOUND_MIXER_READ_CAPS";        break; 
     
    523524  if ( o_w ) { 
    524525   mixer.scale    = 65535; 
    525    mixer.mixer[0] = ( *ip       & 0xFF)*65535/50; 
    526    mixer.mixer[1] = ((*ip >> 8) & 0xFF)*65535/50; 
     526   mixer.mixer[0] = ( *ip       & 0xFF)*65535/OSS_VOLUME_SCALE; 
     527   mixer.mixer[1] = ((*ip >> 8) & 0xFF)*65535/OSS_VOLUME_SCALE; 
    527528   if ( roar_set_vol(&(handle->session->con), o_sid, &mixer, 2) == -1 ) { 
    528529    errno = ENOSYS; 
     
    535536    return -1; 
    536537   } 
    537    *ip = ((50*mixer.mixer[0])/mixer.scale) | (((50*mixer.mixer[0])/mixer.scale)<<8); 
     538   *ip = ((OSS_VOLUME_SCALE*mixer.mixer[0])/mixer.scale) | (((OSS_VOLUME_SCALE*mixer.mixer[0])/mixer.scale)<<8); 
    538539   return 0; 
    539540  } 
     
    563564     *ip |= SOUND_MASK_DIGITAL3; 
    564565 
     566    return 0; 
     567   break; 
     568  case SOUND_MIXER_READ_RECMASK: 
     569    *ip = SOUND_MASK_VOLUME; // we can currently only read from mixer 
    565570    return 0; 
    566571   break; 
Note: See TracChangeset for help on using the changeset viewer.