Changeset 1672:ebdd6c9efa55 in roaraudio for roard/driver_sndio.c


Ignore:
Timestamp:
05/11/09 23:49:43 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support for hwmixer to oss driver (not working for me, OSS v4) and sndio driver

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/driver_sndio.c

    r1583 r1672  
    181181int     driver_sndio_ctl          (struct roar_vio_calls * vio, int cmd, void * data) { 
    182182 struct driver_sndio * self = vio->inst; 
     183 unsigned d; 
    183184 
    184185 switch (cmd) { 
     
    196197    return driver_sndio_reopen_device(self); 
    197198   break; 
     199  case ROAR_VIO_CTL_SET_VOLUME: 
     200    switch (self->info.channels) { 
     201     case 1: 
     202       d = ROAR_MIXER(data)->mixer[0] * SIO_MAXVOL / ROAR_MIXER(data)->scale; 
     203      break; 
     204     case 2: 
     205       if ( ROAR_MIXER(data)->mixer[0] != ROAR_MIXER(data)->mixer[1] ) 
     206        return -1; 
     207       d = ROAR_MIXER(data)->mixer[0] * SIO_MAXVOL / ROAR_MIXER(data)->scale; 
     208      break; 
     209     default: 
     210      return -1; 
     211    } 
     212    return sio_setvol(self->handle, d) == 0 ? -1 : 0; 
     213   break; 
    198214  default: 
    199215    return -1; 
Note: See TracChangeset for help on using the changeset viewer.