Changeset 4811:8d0d713ca0c1 in roaraudio for roard/driver.c


Ignore:
Timestamp:
03/27/11 13:38:18 (13 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

Removed old -d and friends from roard (Closes: #122)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/driver.c

    r4809 r4811  
    145145} 
    146146 
    147 int driver_open (DRIVER_USERDATA_T * inst, int * driver_id, char * driver, char * device, struct roar_audio_info * info) { 
     147int driver_openvio(struct roar_vio_calls * calls, 
     148                 int * driver_id, char * driver /* NOTE: this is not part of struct roar_driver's def! */, 
     149                 char * device, struct roar_audio_info * info, int fh, 
     150                 struct roar_stream_server * sstream) { 
    148151 int i; 
    149152 
     
    156159#endif 
    157160 
     161 ROAR_DBG("driver_openvio(*): searching for driver '%s'...", driver); 
     162 
    158163 for (i = 0; g_driver[i].name != NULL; i++) { 
    159164  if ( strcmp(g_driver[i].name, driver) == 0 ) { 
    160    ROAR_DBG("driver_open(*): found driver: id = %i", i); 
    161  
    162    *driver_id = i; 
    163  
    164    if ( g_driver[i].vio_init != NULL ) { 
    165     if ( (*inst = malloc(sizeof(struct roar_vio_calls))) == NULL ) 
    166      return -1; 
    167  
    168     memset(*inst, 0, sizeof(struct roar_vio_calls)); 
    169  
    170     if ( (i = g_driver[i].vio_init(*inst, device, info, -1, NULL)) == -1 ) { 
    171      free(*inst); 
    172      return -1; 
    173     } 
    174     return i; 
    175    } 
    176  
    177    if ( g_driver[i].open ) { 
    178     ROAR_WARN("driver_open(*): driver(%s) uses old non-vio interface!", driver); 
    179     return g_driver[i].open(inst, device, info); 
    180    } 
    181  
    182    return 0; 
    183   } 
    184  } 
    185  
    186  return -1; 
    187 } 
    188  
    189 int driver_openvio(struct roar_vio_calls * calls, 
    190                  int * driver_id, char * driver /* NOTE: this is not part of struct roar_driver's def! */, 
    191                  char * device, struct roar_audio_info * info, int fh, 
    192                  struct roar_stream_server * sstream) { 
    193  int i; 
    194  
    195 #ifdef ROAR_DRIVER_DEFAULT 
    196  if ( driver == NULL ) 
    197   driver = ROAR_DRIVER_DEFAULT; 
    198 #else 
    199  if ( driver == NULL ) 
    200   return -1; 
    201 #endif 
    202  
    203  ROAR_DBG("driver_openvio(*): searching for driver '%s'...", driver); 
    204  
    205  for (i = 0; g_driver[i].name != NULL; i++) { 
    206   if ( strcmp(g_driver[i].name, driver) == 0 ) { 
    207    ROAR_DBG("driver_open(*): found driver: id = %i", i); 
     165   ROAR_DBG("driver_openvio(*): found driver: id = %i", i); 
    208166 
    209167   *driver_id = i; 
     
    219177    } 
    220178 
    221     ROAR_WARN("driver_open(*): driver(%s) uses old non-vio interface!", driver); 
     179    ROAR_WARN("driver_openvio(*): driver(%s) uses old non-vio interface!", driver); 
    222180    ROAR_ERR("driver_openvio(calls=%p, driver_id={%i}, driver='%s', device='%s', info=%p, fh=%i): not a VIO driver!", 
    223181        calls, i, driver, device, info, fh); 
     
    232190} 
    233191 
    234 int driver_close(DRIVER_USERDATA_T   inst, int driver) { 
    235  int ret = 0; 
    236  ROAR_DBG("driver_close(inst=%p, driver=%i) = ?", inst, driver); 
    237  
    238  if ( driver == -1 ) 
    239   return -1; 
    240  
    241  if ( g_driver[driver].close ) 
    242   ret = g_driver[driver].close(inst); 
    243  
    244  if ( g_driver[driver].vio_init != NULL ) 
    245   free(inst); 
    246  
    247  return ret; 
    248 } 
    249  
    250192int driver_closevio(struct roar_vio_calls * calls, int driver) { 
    251193 ROAR_DBG("driver_closevio(calls=%p, driver=%i) = ?", calls, driver); 
     
    259201 if ( calls->close != NULL ) 
    260202  roar_vio_close(calls); 
    261  
    262  return 0; 
    263 } 
    264  
    265 int driver_write(DRIVER_USERDATA_T   inst, int driver, char * buf, int len) { 
    266  if ( driver == -1 ) 
    267   return -1; 
    268  
    269  if ( g_driver[driver].vio_init != NULL ) 
    270   return roar_vio_write((struct roar_vio_calls *) inst, buf, len); 
    271  
    272  return 0; 
    273 } 
    274  
    275 int driver_read (DRIVER_USERDATA_T   inst, int driver, char * buf, int len) { 
    276  if ( driver == -1 ) 
    277   return -1; 
    278  
    279  if ( g_driver[driver].vio_init != NULL ) 
    280   return roar_vio_read((struct roar_vio_calls *) inst, buf, len); 
    281203 
    282204 return 0; 
Note: See TracChangeset for help on using the changeset viewer.