Changeset 911:9cb4e9e891ad in roaraudio for roard
- Timestamp:
- 12/06/08 21:07:20 (15 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- roard
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/driver.c
r668 r911 26 26 27 27 struct roar_driver g_driver[] = { 28 { "null", "null audio driver", "/dev/null", NULL, NULL, NULL, NULL, NULL, NULL },28 { "null", "null audio driver", "/dev/null", NULL, NULL, NULL, NULL, NULL, NULL, NULL}, 29 29 #ifdef ROAR_HAVE_ESD 30 { "esd", "EsounD audio driver", "localhost, remote.host.dom", driver_esd_open, driver_esd_close, driver_esd_pause, driver_esd_write, driver_esd_read, driver_esd_flush },30 { "esd", "EsounD audio driver", "localhost, remote.host.dom", driver_esd_open, driver_esd_close, driver_esd_pause, driver_esd_write, driver_esd_read, driver_esd_flush, NULL}, 31 31 #endif 32 { "roar", "RoarAudio driver", "localhost, remote.host.dom", driver_roar_open, driver_roar_close, driver_roar_pause, driver_roar_write, driver_roar_read, driver_roar_flush },33 { "raw", "RAW PCM driver", "/some/file", driver_raw_open, driver_raw_close, driver_roar_pause, driver_raw_write, driver_raw_read, driver_raw_flush },32 { "roar", "RoarAudio driver", "localhost, remote.host.dom", driver_roar_open, driver_roar_close, driver_roar_pause, driver_roar_write, driver_roar_read, driver_roar_flush, NULL}, 33 { "raw", "RAW PCM driver", "/some/file", driver_raw_open, driver_raw_close, driver_roar_pause, driver_raw_write, driver_raw_read, driver_raw_flush, NULL}, 34 34 #ifdef ROAR_HAVE_LIBAO 35 { "ao", "libao audio driver", "DRIVER", driver_ao_open, driver_ao_close, driver_ao_pause, driver_ao_write, driver_ao_read, driver_ao_flush },35 { "ao", "libao audio driver", "DRIVER", driver_ao_open, driver_ao_close, driver_ao_pause, driver_ao_write, driver_ao_read, driver_ao_flush, NULL}, 36 36 #endif 37 {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } // end of list37 {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL} // end of list 38 38 }; 39 39 … … 57 57 58 58 *driver_id = i; 59 60 if ( g_driver[i].vio_init != NULL ) { 61 if ( (*inst = malloc(sizeof(struct roar_vio_calls))) == NULL ) 62 return -1; 63 64 if ( (i = g_driver[i].vio_init(*inst, device, info)) == -1 ) { 65 free(*inst); 66 return -1; 67 } 68 return i; 69 } 59 70 60 71 if ( g_driver[i].open ) … … 93 104 return -1; 94 105 106 if ( g_driver[driver].vio_init != NULL ) 107 return roar_vio_write((struct roar_vio_calls *) inst, buf, len); 108 95 109 if ( g_driver[driver].write ) 96 110 return g_driver[driver].write(inst, buf, len); … … 102 116 if ( driver == -1 ) 103 117 return -1; 118 119 if ( g_driver[driver].vio_init != NULL ) 120 return roar_vio_read((struct roar_vio_calls *) inst, buf, len); 104 121 105 122 if ( g_driver[driver].read ) -
roard/include/driver.h
r668 r911 60 60 int (*read )(DRIVER_USERDATA_T inst, char * buf, int len); 61 61 int (*flush)(DRIVER_USERDATA_T inst); 62 int (*vio_init)(struct roar_vio_calls * calls, char * device, struct roar_audio_info * info); 62 63 }; 63 64
Note: See TracChangeset
for help on using the changeset viewer.