Changeset 1842:8c8a003773ca in roaraudio for roard/req.c
- Timestamp:
- 05/23/09 04:17:05 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/req.c
r1840 r1842 508 508 uint16_t * d = (uint16_t *) mes->data; 509 509 int i; 510 char * str; 510 511 511 512 if ( mes->datalen != 4 ) … … 516 517 } 517 518 518 if ( streams_get(mes->stream, &ss) == -1 ) { 519 ROAR_WARN("req_on_get_stream_para(*): request on non existing (or other error?) stream %i", mes->stream); 520 return -1; 521 } 522 523 if ( streams_calc_delay(mes->stream) == -1 ) { 524 ROAR_WARN("req_on_get_stream_para(*): can not calc delay for stream %i", mes->stream); 525 } 526 527 s = ROAR_STREAM(ss); 528 529 audio_info = &(s->info); 530 531 if ( d[0] != 0 || d[1] != 1 ) { 519 if ( d[0] != 0 ) { 532 520 ROAR_WARN("req_on_get_stream_para(*): unsupported command version: %i, %i", d[0], d[1]); 533 521 return -1; 534 522 } 535 523 536 mes->datalen = 2*8; 537 538 d[2] = ROAR_OUTPUT_CALC_OUTBUFSIZE(audio_info); 539 d[3] = ss->pre_underruns; 540 d[4] = ss->post_underruns; 541 d[5] = ss->codec_orgi; 542 d[6] = ss->flags | (ss->primary ? ROAR_FLAG_PRIMARY : 0) | (ss->driver_id != -1 ? ROAR_FLAG_OUTPUT : 0); 543 d[7] = ss->delay/1000; 544 545 ROAR_DBG("req_on_get_stream_para(*): ss->driver_id=%i", ss->driver_id); 546 547 ROAR_DBG("req_on_get_stream_para(*): delay=%i, send delay=%i", ss->delay, d[7]); 548 549 for (i = 0; i < mes->datalen/2; i++) { 550 d[i] = ROAR_HOST2NET16(d[i]); 551 } 552 553 mes->pos = s->pos; 524 switch (d[1]) { 525 case ROAR_STREAM_PARA_INFO: 526 if ( streams_get(mes->stream, &ss) == -1 ) { 527 ROAR_WARN("req_on_get_stream_para(*): request on non existing (or other error?) stream %i", mes->stream); 528 return -1; 529 } 530 531 if ( streams_calc_delay(mes->stream) == -1 ) { 532 ROAR_WARN("req_on_get_stream_para(*): can not calc delay for stream %i", mes->stream); 533 } 534 535 s = ROAR_STREAM(ss); 536 537 audio_info = &(s->info); 538 539 mes->datalen = 2*8; 540 541 d[2] = ROAR_OUTPUT_CALC_OUTBUFSIZE(audio_info); 542 d[3] = ss->pre_underruns; 543 d[4] = ss->post_underruns; 544 d[5] = ss->codec_orgi; 545 d[6] = ss->flags | (ss->primary ? ROAR_FLAG_PRIMARY : 0) | (ss->driver_id != -1 ? ROAR_FLAG_OUTPUT : 0); 546 d[7] = ss->delay/1000; 547 548 ROAR_DBG("req_on_get_stream_para(*): ss->driver_id=%i", ss->driver_id); 549 550 ROAR_DBG("req_on_get_stream_para(*): delay=%i, send delay=%i", ss->delay, d[7]); 551 552 for (i = 0; i < mes->datalen/2; i++) { 553 d[i] = ROAR_HOST2NET16(d[i]); 554 } 555 556 mes->pos = s->pos; 557 break; 558 559 case ROAR_STREAM_PARA_NAME: 560 str = streams_get_name(mes->stream); 561 562 if ( str == NULL ) 563 return -1; 564 565 mes->datalen = 4 + strlen(str); 566 567 if ( mes->datalen > LIBROAR_BUFFER_MSGDATA ) 568 return -1; 569 570 strncpy(((char*)&(mes->data))+4, str, mes->datalen); 571 572 d[0] = ROAR_HOST2NET16(d[0]); 573 d[1] = ROAR_HOST2NET16(d[1]); 574 break; 575 576 default: 577 ROAR_WARN("req_on_get_stream_para(*): unsupported command: %i", d[1]); 578 return -1; 579 } 554 580 555 581 mes->cmd = ROAR_CMD_OK; … … 568 594 } 569 595 570 if ( d[0] != 0 || d[1] != 2) {596 if ( d[0] != 0 || d[1] != ROAR_STREAM_PARA_FLAGS ) { 571 597 ROAR_WARN("req_on_set_stream_para(*): unsupported command version: %i, %i", d[0], d[1]); 572 598 return -1;
Note: See TracChangeset
for help on using the changeset viewer.