Changeset 1539:56b0eed81f0c in roaraudio


Ignore:
Timestamp:
04/12/09 17:45:14 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support to reopen device

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/driver_oss.c

    r1538 r1539  
    4343int     driver_oss_nonblock (struct roar_vio_calls * vio, int state); 
    4444int     driver_oss_close_vio(struct roar_vio_calls * vio); 
     45int     driver_oss_reopen_device(struct driver_oss * self); 
    4546 
    4647int driver_oss_init_vio(struct roar_vio_calls * vio, struct driver_oss * inst) { 
     
    365366#undef er 
    366367 
     368int     driver_oss_reopen_device(struct driver_oss * self) { 
     369#ifdef SNDCTL_DSP_SYNC 
     370 ioctl(self->fh, SNDCTL_DSP_SYNC, NULL); 
     371#endif 
     372 
     373 close(self->fh); 
     374 
     375 if ( driver_oss_open_device(self) == -1 ) 
     376  return -1; 
     377 
     378 self->need_config = 1; 
     379 
     380 return 0; 
     381} 
     382 
    367383int driver_oss_close(DRIVER_USERDATA_T   inst) { 
    368384 return roar_vio_close((struct roar_vio_calls *)inst); 
     
    457473    self->stream = data; 
    458474   break; 
     475  case ROAR_VIO_CTL_GET_AUINFO: 
     476    memcpy(data, &(self->info), sizeof(struct roar_audio_info)); 
     477   break; 
     478  case ROAR_VIO_CTL_SET_AUINFO: 
     479    memcpy(&(self->info), data, sizeof(struct roar_audio_info)); 
     480    return driver_oss_reopen_device(self); 
     481   break; 
    459482  default: 
    460483   return -1; 
Note: See TracChangeset for help on using the changeset viewer.