Changeset 127:df5c2e3b1dd3 in roaraudio


Ignore:
Timestamp:
07/13/08 19:11:18 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

better support for filter streams

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/streams.c

    r125 r127  
    554554int streams_send_filter(int id) { 
    555555 int fh; 
     556 int have = 0; 
     557 int len; 
    556558 struct roar_stream        *   s; 
    557559 struct roar_stream_server *  ss; 
     
    573575 
    574576 if ( write(fh, g_output_buffer, g_output_buffer_len) == g_output_buffer_len ) { 
    575   if ( read(fh, g_output_buffer, g_output_buffer_len) == g_output_buffer_len ) { 
    576    return 0; 
    577   } else { 
    578    streams_delete(id); 
    579    return -1; 
    580   } 
     577  while ( have < g_output_buffer_len ) { 
     578   if ( (len = read(fh, g_output_buffer+have, g_output_buffer_len-have)) < 1 ) { 
     579    streams_delete(id); 
     580    return -1; 
     581   } 
     582   have += len; 
     583  } 
     584  return 0; 
    581585 } 
    582586 
Note: See TracChangeset for help on using the changeset viewer.