Changeset 2240:3e47106d192e in roaraudio


Ignore:
Timestamp:
07/28/09 04:03:14 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

write to (RAW_OUT) output streams

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/raw.c

    r2237 r2240  
    2626 
    2727int raw_check_stream  (int id) { 
    28  return -1; 
     28 struct roar_stream        *    s; 
     29 struct roar_stream_server *   ss; 
     30 struct roar_buffer        *  buf; 
     31 void                      * data; 
     32 ssize_t                     len; 
     33 
     34 if ( g_streams[id] == NULL ) 
     35  return -1; 
     36 
     37 ROAR_DBG("raw_check_stream(id=%i) = ?", id); 
     38 
     39 s = ROAR_STREAM(ss = g_streams[id]); 
     40 
     41 if ( s->pos_rel_id == -1 ) 
     42  return -1; 
     43 
     44 if ( roar_buffer_new(&buf, RAW_READ_LEN) == -1 ) 
     45  return -1; 
     46 
     47 if ( roar_buffer_get_data(buf, &data) == -1 ) { 
     48  roar_buffer_free(buf); 
     49  return -1; 
     50 } 
     51 
     52 if ( (len = stream_vio_s_read(ss, data, RAW_READ_LEN)) < 1 ) { 
     53  roar_buffer_free(buf); 
     54  return -1; 
     55 } 
     56 
     57 if ( stream_vio_write(s->pos_rel_id, data, len) != len ) { 
     58  // we are that hard here as this is needed to ensure data integrety 
     59  streams_delete(s->pos_rel_id); 
     60 } 
     61 
     62 roar_buffer_free(buf); 
     63 
     64 return 0; 
    2965} 
    3066 
Note: See TracChangeset for help on using the changeset viewer.