Changeset 465:82fd66e50dc3 in roaraudio for roard/req.c


Ignore:
Timestamp:
08/12/08 15:37:57 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support to get the size of optimal read() and write()s

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/req.c

    r443 r465  
    400400 
    401401 mes->cmd = ROAR_CMD_OK; 
     402 mes->stream = mes->data[0]; 
    402403 
    403404 return roar_stream_s2m(ROAR_STREAM(s), mes); 
     405} 
     406 
     407int req_on_get_stream_para (int client, struct roar_message * mes, char * data) { 
     408 struct roar_stream * s; 
     409 struct roar_audio_info * audio_info; 
     410 uint16_t * d = (uint16_t *) mes->data; 
     411 int i; 
     412 
     413 if ( mes->datalen != 4 ) 
     414  return -1; 
     415 
     416 for (i = 0; i < mes->datalen/2; i++) { 
     417  d[i] = ROAR_NET2HOST16(d[i]); 
     418 } 
     419 
     420 if ( streams_get(mes->stream, ROAR_STREAM_SERVER(&s)) == -1 ) { 
     421  ROAR_WARN("req_on_get_stream_para(*): request on non existing (or other error?) stream %i", mes->stream); 
     422  return -1; 
     423 } 
     424 
     425 audio_info = &(s->info); 
     426 
     427 if ( d[0] != 0 || d[1] != 1 ) { 
     428  ROAR_WARN("req_on_get_stream_para(*): unsupported command version: %i, %i", d[0], d[1]); 
     429  return -1; 
     430 } 
     431 
     432 mes->datalen = 2*3; 
     433 
     434 d[2] = ROAR_OUTPUT_CALC_OUTBUFSIZE(audio_info); 
     435 
     436 for (i = 0; i < mes->datalen/2; i++) { 
     437  d[i] = ROAR_HOST2NET16(d[i]); 
     438 } 
     439 
     440 mes->cmd = ROAR_CMD_OK; 
     441 return 0; 
    404442} 
    405443 
Note: See TracChangeset for help on using the changeset viewer.