Changeset 1842:8c8a003773ca in roaraudio for libroar/stream.c


Ignore:
Timestamp:
05/23/09 04:17:05 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

support for names on server streams, added roar_stream_get_name()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/stream.c

    r1820 r1842  
    338338 
    339339 data[0] = 0; // Version and reserved 
    340  data[1] = 1; // stream 
     340 data[1] = ROAR_STREAM_PARA_INFO; // stream 
    341341 
    342342 for (i = 0; i < m.datalen/2; i++) { 
     
    368368 info->flags          = data[6]; 
    369369 info->delay          = data[7]*1000; 
     370 
     371 return 0; 
     372} 
     373 
     374int roar_stream_get_name (struct roar_connection * con, struct roar_stream * s, char * name, size_t len) { 
     375 struct roar_message m; 
     376 uint16_t * data = (uint16_t *) m.data; 
     377 
     378 if ( con == NULL || s == NULL || name == NULL || len == 0 ) 
     379  return -1; 
     380 
     381 name[0] = 0; // just in case... 
     382 
     383 m.cmd     = ROAR_CMD_GET_STREAM_PARA; 
     384 m.stream  = s->id; 
     385 m.datalen = 4; 
     386 m.pos     = 0; 
     387 
     388 data[0] = 0; // Version and reserved 
     389 data[1] = ROAR_STREAM_PARA_NAME; // stream 
     390 
     391 data[0] = ROAR_HOST2NET16(data[0]); 
     392 data[1] = ROAR_HOST2NET16(data[1]); 
     393 
     394 ROAR_DBG("roar_stream_get_name(*) = ?"); 
     395 
     396 if ( roar_req(con, &m, NULL) == -1 ) 
     397  return -1; 
     398 
     399 ROAR_DBG("roar_stream_get_name(*) = ?"); 
     400 
     401 if ( m.cmd != ROAR_CMD_OK ) 
     402  return -1; 
     403 
     404 ROAR_DBG("roar_stream_get_name(*) = ?"); 
     405 
     406 if ( m.datalen < 4 ) 
     407  return -1; 
     408 
     409 data[0] = ROAR_NET2HOST16(data[0]); 
     410 data[1] = ROAR_NET2HOST16(data[1]); 
     411 
     412 ROAR_DBG("roar_stream_get_name(*) = ?"); 
     413 
     414 if ( data[0] != 0 || data[1] != ROAR_STREAM_PARA_NAME ) 
     415  return -1; 
     416 
     417 m.datalen -= 4; 
     418 
     419 len--; 
     420 
     421 if ( len > m.datalen ) 
     422  len = m.datalen; 
     423 
     424 strncpy(name, ((char*)m.data)+4, len); 
     425 name[len] = 0; 
     426 
     427 ROAR_DBG("roar_stream_get_name(*) = 0"); 
    370428 
    371429 return 0; 
Note: See TracChangeset for help on using the changeset viewer.