Changeset 2252:8860b2075ca5 in roaraudio


Ignore:
Timestamp:
07/28/09 20:38:20 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

moved THRU stream support from individual stream types to the general read() for streams, let's see if it works.

Location:
roard
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • roard/light.c

    r2055 r2252  
    117117    } 
    118118//    memcpy(g_light_state.state, buf, g_light_state.channels < 512 ? g_light_state.channels : 512); 
    119  
    120     for (i = 0; i < ROAR_STREAMS_MAX; i++) { 
    121      if ( g_streams[i] != NULL && ROAR_STREAM(g_streams[i])->pos_rel_id == id ) { 
    122       if ( ROAR_STREAM(g_streams[i])->dir == ROAR_DIR_THRU ) { 
    123        if ( stream_vio_write(i, buf, 512) != 512 ) { 
    124         streams_delete(i); 
    125        } 
    126       } 
    127      } 
    128     } 
    129119 
    130120    return 0; 
  • roard/midi.c

    r1924 r2252  
    9898 char                      * buf; 
    9999 ssize_t                     len; 
    100  int                           i; 
    101100 
    102101 if ( g_streams[id] == NULL ) 
     
    138137  streams_delete(id); 
    139138  return -1; 
    140  } 
    141  
    142  for (i = 0; i < ROAR_STREAMS_MAX; i++) { 
    143   if ( g_streams[i] != NULL && ROAR_STREAM(g_streams[i])->pos_rel_id == id ) { 
    144    if ( ROAR_STREAM(g_streams[i])->dir == ROAR_DIR_THRU ) { 
    145     if ( stream_vio_write(i, buf, len) != len ) { 
    146      streams_delete(i); 
    147     } 
    148    } 
    149   } 
    150139 } 
    151140 
  • roard/streams.c

    r2251 r2252  
    11341134int streams_check  (int id) { 
    11351135 int fh; 
    1136  int i; 
    11371136 ssize_t req, realreq, done; 
    11381137 struct roar_stream        *   s; 
     
    12161215 
    12171216  roar_buffer_get_data(b, (void **)&buf); 
    1218   for (i = 0; i < ROAR_STREAMS_MAX; i++) { 
    1219    if ( g_streams[i] != NULL && ROAR_STREAM(g_streams[i])->pos_rel_id == id ) { 
    1220     if ( ROAR_STREAM(g_streams[i])->dir == ROAR_DIR_THRU ) { 
    1221      if ( stream_vio_write(i, buf, req) != req ) { 
    1222       streams_delete(i); 
    1223      } 
    1224     } 
    1225    } 
    1226   } 
    12271217 } else { 
    12281218  req = codecfilter_read(ss->codecfilter_inst, ss->codecfilter, buf, req); 
     
    14941484  size_t len =  0; 
    14951485 ssize_t r   = -1; 
     1486 int     i; 
    14961487 
    14971488 errno = 0; 
     
    15161507  return -1; 
    15171508 
     1509 for (i = 0; i < ROAR_STREAMS_MAX; i++) { 
     1510  if ( g_streams[i] != NULL && ROAR_STREAM(g_streams[i])->pos_rel_id == ROAR_STREAM(stream)->id ) { 
     1511   if ( ROAR_STREAM(g_streams[i])->dir == ROAR_DIR_THRU ) { 
     1512    if ( stream_vio_write(i, buf, len) != len ) { 
     1513     streams_delete(i); 
     1514    } 
     1515   } 
     1516  } 
     1517 } 
     1518 
    15181519 return len; 
    15191520} 
Note: See TracChangeset for help on using the changeset viewer.