Changeset 3539:1fd530767d7b in roaraudio
- Timestamp:
- 02/20/10 00:48:43 (14 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/stream.c
r3517 r3539 482 482 } 483 483 484 int roar_stream_get_chanmap (struct roar_connection * con, struct roar_stream * s, char * map, size_t * len) { 485 struct roar_message m; 486 uint16_t * data = (uint16_t *) m.data; 487 488 ROAR_DBG("roar_stream_get_chanmap(con=%p, s=%p, map=%p, len=%p) = ?", con, s, map, len); 489 490 if ( con == NULL || s == NULL || map == NULL || len == NULL ) 491 return -1; 492 493 if ( *len == 0 ) 494 return -1; 495 496 memset(&m, 0, sizeof(m)); 497 498 m.cmd = ROAR_CMD_GET_STREAM_PARA; 499 m.stream = s->id; 500 m.datalen = 2*2; 501 502 data[0] = 0; // Version and reserved 503 data[1] = ROAR_STREAM_PARA_CHANMAP; 504 505 data[0] = ROAR_HOST2NET16(data[0]); 506 data[1] = ROAR_HOST2NET16(data[1]); 507 508 if ( roar_req(con, &m, NULL) == -1 ) 509 return -1; 510 511 ROAR_DBG("roar_stream_get_chanmap(con=%p, s=%p{.id=%i}, map=%p, len=%p) = ?", con, s, s->id, map, len); 512 513 if ( m.cmd != ROAR_CMD_OK ) 514 return -1; 515 516 ROAR_DBG("roar_stream_get_chanmap(con=%p, s=%p{.id=%i}, map=%p, len=%p) = ?", con, s, s->id, map, len); 517 518 if ( m.datalen < 4 ) 519 return -1; 520 521 data[0] = ROAR_NET2HOST16(data[0]); 522 data[1] = ROAR_NET2HOST16(data[1]); 523 524 ROAR_DBG("roar_stream_get_chanmap(con=%p, s=%p{.id=%i}, map=%p, len=%p) = ?", con, s, s->id, map, len); 525 526 if ( data[0] != 0 || data[1] != ROAR_STREAM_PARA_CHANMAP ) 527 return -1; 528 529 ROAR_DBG("roar_stream_get_chanmap(con=%p, s=%p{.id=%i}, map=%p, len=%p) = ?", con, s, s->id, map, len); 530 531 m.datalen -= 4; 532 533 if ( m.datalen > *len ) 534 return -1; 535 536 ROAR_DBG("roar_stream_get_chanmap(con=%p, s=%p{.id=%i}, map=%p, len=%p) = ?", con, s, s->id, map, len); 537 538 memcpy(map, &(m.data[4]), m.datalen); 539 540 *len = m.datalen; 541 542 ROAR_DBG("roar_stream_get_chanmap(con=%p, s=%p{.id=%i}, map=%p, len=%p) = 0", con, s, s->id, map, len); 543 return 0; 544 } 545 546 int roar_stream_set_chanmap (struct roar_connection * con, struct roar_stream * s, char * map, size_t len); 547 548 484 549 int roar_stream_set_flags (struct roar_connection * con, struct roar_stream * s, int flags, int reset) { 485 550 struct roar_message m; -
roarclients/Makefile
r3343 r3539 47 47 $L 48 48 roarctl: roarctl.o 49 $L $( lib_m)49 $L $(LIBROARDSP) $(lib_m) 50 50 roarmon: roarmon.o 51 51 $L -
roarclients/roarctl.c
r3531 r3539 28 28 #include <roaraudio.h> 29 29 #include <roaraudio/units.h> 30 #include <libroardsp/libroardsp.h> 30 31 31 32 #if defined(ROAR_HAVE_SETGID) && defined(ROAR_HAVE_SETUID) … … 298 299 int num; 299 300 int id[ROAR_STREAMS_MAX]; 301 char chanmap[ROAR_MAX_CHANNELS]; 300 302 struct roar_stream s; 301 303 struct roar_stream_info info; 302 char flags[1024]; 303 char name[1024]; 304 char buffer[1024]; 305 char * flags = buffer; 306 char * name = buffer; 304 307 char * infotext; 308 size_t len; 305 309 306 310 … … 420 424 } 421 425 426 if ( g_verbose ) { 427 len = ROAR_MAX_CHANNELS; 428 if ( roar_stream_get_chanmap(con, &s, chanmap, &len) == -1 ) { 429 fprintf(stderr, "Error: can not get stream channel map\n"); 430 } else { 431 if ( roardsp_chanlist2str(chanmap, len, buffer, 1024) == -1 ) { 432 fprintf(stderr, "Error: can not convert channel map into string\n"); 433 } else { 434 printf("Channel Map : %s\n", buffer); 435 } 436 } 437 } 438 422 439 if ( s.dir != ROAR_DIR_THRU ) { 423 440 display_mixer(con, id[i]); -
roard/req.c
r3530 r3539 636 636 break; 637 637 638 case ROAR_STREAM_PARA_CHANMAP: 639 if ( streams_get(mes->stream, &ss) == -1 ) { 640 ROAR_WARN("req_on_get_stream_para(*): request on non existing (or other error?) stream %i", mes->stream); 641 return -1; 642 } 643 644 s = ROAR_STREAM(ss); 645 646 memcpy(&(mes->data[4]), ss->chanmap.in, s->info.channels); 647 mes->datalen = 2*2 + s->info.channels; 648 649 d[0] = ROAR_HOST2NET16(d[0]); 650 d[1] = ROAR_HOST2NET16(d[1]); 651 break; 652 638 653 default: 639 654 ROAR_WARN("req_on_get_stream_para(*): unsupported command: %i", d[1]); -
roard/streams.c
r3517 r3539 316 316 case ROAR_SUBSYS_WAVEFORM: 317 317 streams_set_mixer_stream(id, g_waveform_mixer.stream); 318 roardsp_chanlist_init(ss->chanmap.in, ROAR_STREAM(ss)->info.channels, ROARDSP_CHANLIST_MAP_ROARAUDIO); 319 roardsp_chanlist_init(ss->chanmap.out, ROAR_STREAM(ss)->info.channels, ROARDSP_CHANLIST_MAP_ROARAUDIO); 320 roardsp_chanmap_calc(&(ss->chanmap), ROARDSP_CHANMAP_MAP, 0); 318 321 break; 319 322 #ifndef ROAR_WITHOUT_DCOMP_MIDI
Note: See TracChangeset
for help on using the changeset viewer.