Changeset 930:62b20281af8d in roaraudio


Ignore:
Timestamp:
12/07/08 17:24:18 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added a addition argument fh to vio driver open rutine, added var to save driver id in server stream struct

Location:
roard
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • roard/driver.c

    r924 r930  
    7070    memset(*inst, 0, sizeof(struct roar_vio_calls)); 
    7171 
    72     if ( (i = g_driver[i].vio_init(*inst, device, info)) == -1 ) { 
     72    if ( (i = g_driver[i].vio_init(*inst, device, info, -1)) == -1 ) { 
    7373     free(*inst); 
    7474     return -1; 
  • roard/driver_esd.c

    r912 r930  
    6060} 
    6161 
    62 int driver_esd_open_vio(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info) { 
     62int driver_esd_open_vio(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info, int fh) { 
     63 
     64 if ( fh != -1 ) 
     65  return -1; 
     66 
    6367 inst->read  = driver_esd_read; 
    6468 inst->write = driver_esd_write; 
  • roard/driver_oss.c

    r924 r930  
    2828#define er() close(fh); return -1 
    2929 
    30 int driver_oss_open(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info) { 
     30int driver_oss_open(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info, int fh) { 
    3131 int tmp; 
    32  int fh; 
    3332 
    3433#ifdef ROAR_DEFAULT_OSS_DEV 
     
    4443 roar_vio_init_calls(inst); 
    4544 
    46  if ( (fh = open(device, O_WRONLY, 0644)) == -1 ) { 
    47   ROAR_ERR("driver_oss_open(*): Can not open OSS device: %s: %s", device, strerror(errno)); 
    48   return -1; 
     45 if (  fh == -1 ) { 
     46  if ( (fh = open(device, O_WRONLY, 0644)) == -1 ) { 
     47   ROAR_ERR("driver_oss_open(*): Can not open OSS device: %s: %s", device, strerror(errno)); 
     48   return -1; 
     49  } 
    4950 } 
    5051 
  • roard/include/driver.h

    r929 r930  
    8181 int (*read )(DRIVER_USERDATA_T   inst, char * buf, int len); 
    8282 int (*flush)(DRIVER_USERDATA_T   inst); 
    83  int (*vio_init)(struct roar_vio_calls * calls, char * device, struct roar_audio_info * info); 
     83 int (*vio_init)(struct roar_vio_calls * calls, char * device, struct roar_audio_info * info, int fh); 
    8484}; 
    8585 
  • roard/include/driver_esd.h

    r912 r930  
    2727 
    2828int driver_esd_open_sysio(DRIVER_USERDATA_T * inst,   char * device, struct roar_audio_info * info); 
    29 int driver_esd_open_vio(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info); 
     29int driver_esd_open_vio(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info, int fh); 
    3030int driver_esd_close(DRIVER_USERDATA_T   inst); 
    3131int driver_esd_pause(DRIVER_USERDATA_T   inst, int newstate); 
  • roard/include/driver_oss.h

    r917 r930  
    2626#define _DRIVER_OSS_H_ 
    2727 
    28 int driver_oss_open(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info); 
     28int driver_oss_open(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info, int fh); 
    2929int driver_oss_close(DRIVER_USERDATA_T   inst); 
    3030 
  • roard/include/streams.h

    r766 r930  
    5555 struct roar_vio_calls vio; 
    5656 int primary; 
     57 int driver_id; 
    5758} * g_streams[ROAR_STREAMS_MAX]; 
    5859 
  • roard/streams.c

    r881 r930  
    9595 
    9696   roar_vio_init_calls(&(s->vio)); 
     97   s->driver_id = -1; 
    9798 
    9899   g_streams[i] = s; 
     
    689690  return 0; 
    690691 
     692 if ( s->dir == ROAR_DIR_OUTPUT && g_standby ) 
     693  return 0; 
     694 
    691695 ROAR_DBG("streams_send_mon(id=%i): fh = %i", id, fh); 
    692696 
Note: See TracChangeset for help on using the changeset viewer.