Changeset 3252:5dd53a288c8b in roaraudio
- Timestamp:
- 01/30/10 13:09:57 (14 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/roard.c
r3129 r3252 153 153 " --sock - Filename for UNIX Domain Socket\n" 154 154 " --proto PROTO - Use PROTO as protocol on Socket\n" 155 " --proto-dir DIR - Set direction parameter for protocol\n" 156 " --proto-rate RATE - Set sample rate parameter for protocol\n" 157 " --proto-bits BITS - Set bits per sample parameter for protocol\n" 158 " --proto-codec E - Set codec parameter for protocol\n" 159 " --proto-chans C - Set number of channels paramter for protocol\n" 155 160 " --list-proto - List supported protocols\n" 156 161 " --new-sock - Parameters for new socket follows\n" … … 280 285 } 281 286 282 int add_listen (char * addr, int port, int sock_type, char * user, char * group, int proto ) {287 int add_listen (char * addr, int port, int sock_type, char * user, char * group, int proto, int dir, struct roar_audio_info * info) { 283 288 #if defined(ROAR_HAVE_SETGID) && defined(ROAR_HAVE_IO_POSIX) 284 289 struct group * grp = NULL; … … 373 378 374 379 // in case we opened the listening socket correctly. 380 g_listen[sockid].inst.stpl.dir = dir; 381 memcpy(&(g_listen[sockid].inst.stpl.info), info, sizeof(struct roar_audio_info)); 375 382 server[sockid] = addr; 376 383 return 0; … … 854 861 char * sock_addr = NULL; 855 862 int sock_proto = ROAR_PROTO_ROARAUDIO; 863 int sock_dir = -1; 864 struct roar_audio_info sock_info = {0, 0, 0, 0}; 856 865 #endif 857 866 int drvid; … … 1311 1320 } 1312 1321 #endif 1322 } else if ( strcmp(k, "--proto-dir") == 0 ) { 1323 #ifdef ROAR_SUPPORT_LISTEN 1324 if ( (sock_dir = roar_str2dir(argv[++i])) == -1 ) { 1325 ROAR_ERR("Unknown stream direction: %s", argv[i]); 1326 return 1; 1327 } 1328 #endif 1329 } else if ( strcmp(k, "--proto-rate") == 0 ) { 1330 #ifdef ROAR_SUPPORT_LISTEN 1331 sock_info.rate = atoi(argv[++i]); 1332 #endif 1333 } else if ( strcmp(k, "--proto-bits") == 0 ) { 1334 #ifdef ROAR_SUPPORT_LISTEN 1335 sock_info.bits = atoi(argv[++i]); 1336 #endif 1337 } else if ( strcmp(k, "--proto-chans") == 0 ) { 1338 #ifdef ROAR_SUPPORT_LISTEN 1339 sock_info.channels = atoi(argv[++i]); 1340 #endif 1341 } else if ( strcmp(k, "--proto-codec") == 0 ) { 1342 #ifdef ROAR_SUPPORT_LISTEN 1343 if ( (sock_info.codec = roar_str2codec(argv[++i])) == -1 ) { 1344 ROAR_ERR("Unknown codec: %s", argv[i]); 1345 return 1; 1346 } 1347 #endif 1348 1349 1313 1350 } else if ( strcmp(k, "--list-proto") == 0 ) { 1314 1351 list_proto(); … … 1362 1399 } else if ( strcmp(k, "--new-sock") == 0 ) { 1363 1400 #ifdef ROAR_SUPPORT_LISTEN 1364 if ( add_listen(sock_addr, port, sock_type, sock_user, sock_grp, sock_proto ) != 0 ) {1401 if ( add_listen(sock_addr, port, sock_type, sock_user, sock_grp, sock_proto, sock_dir, &sock_info) != 0 ) { 1365 1402 ROAR_ERR("Can not open listen socket!"); 1366 1403 return 1; … … 1457 1494 1458 1495 #ifdef ROAR_SUPPORT_LISTEN 1459 if ( add_listen(sock_addr, port, sock_type, sock_user, sock_grp, sock_proto ) != 0 ) {1496 if ( add_listen(sock_addr, port, sock_type, sock_user, sock_grp, sock_proto, sock_dir, &sock_info) != 0 ) { 1460 1497 ROAR_ERR("Can not open listen socket!"); 1461 1498 return 1;
Note: See TracChangeset
for help on using the changeset viewer.