Changeset 4852:166a9cc557c9 in roaraudio for roard/hwmixer.c
- Timestamp:
- 04/10/11 02:12:57 (13 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/hwmixer.c
r4752 r4852 231 231 } 232 232 233 int hwmixer_add (char * drv, char * dev, char * opts, int prim, int count) { 234 char * basename = NULL; 235 char * subnames = NULL; 236 char * k, * v; 237 int basestream = streams_new(); 238 int ret; 239 int error = 0; 240 //int hwmixer_open(int basestream, char * drv, char * dev, int fh, char * basename, char * subnames) { 241 242 if ( basestream == -1 ) 243 return -1; 244 245 client_stream_add(g_self_client, basestream); 246 247 if ( opts == NULL ) { 248 k = NULL; 249 } else { 250 k = strtok(opts, ","); 251 } 252 253 while (k != NULL) { 254 // ROAR_WARN("add_output(*): opts: %s", k); 255 256 if ( (v = strstr(k, "=")) != NULL ) { 257 *v++ = 0; 258 } 259 260 if ( strcmp(k, "primary") == 0 ) { 261 prim = 1; 262 263 } else if ( strcmp(k, "name") == 0 ) { 264 basename = v; 265 } else if ( strcmp(k, "subs") == 0 ) { 266 subnames = v; 267 268 } else if ( strcmp(k, "autoconf") == 0 ) { 269 streams_set_flag(basestream, ROAR_FLAG_AUTOCONF); 270 } else if ( strcmp(k, "passmixer") == 0 ) { 271 streams_set_flag(basestream, ROAR_FLAG_PASSMIXER); 272 } else { 273 ROAR_ERR("add_hwmixer(*): unknown option '%s'", k); 274 error++; 275 } 276 277 if ( error ) { 278 streams_delete(basestream); 279 if ( prim ) alive = 0; 280 return -1; 281 } 282 283 k = strtok(NULL, ","); 284 } 285 286 if ( prim ) { 287 streams_mark_primary(basestream); 288 } 289 290 ret = hwmixer_open(basestream, drv, dev, -1, basename, subnames); 291 292 if ( ret == -1 ) { 293 streams_delete(basestream); 294 } 295 296 return ret == -1 ? -1 : 0; 297 } 298 233 299 #endif 234 300
Note: See TracChangeset
for help on using the changeset viewer.