Changeset 1913:b4b824af799b in roaraudio


Ignore:
Timestamp:
05/26/09 23:06:36 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added stream attribute 'ready'

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/include/streams.h

    r1857 r1913  
    7373 uint_least32_t delay; 
    7474 char * name; 
     75 int ready; 
    7576} * g_streams[ROAR_STREAMS_MAX]; 
    7677 
  • roard/streams.c

    r1912 r1913  
    9494   s->codec_orgi      = -1; 
    9595   s->primary         =  0; 
     96   s->ready           =  0; 
    9697 
    9798   s->mixer.scale     = 65535; 
     
    255256int streams_set_fh     (int id, int fh) { 
    256257 struct roar_stream_server * ss; 
     258 struct roar_stream        * s; 
    257259 int dir; 
    258260 
    259  if ( (ss = g_streams[id]) == NULL ) 
    260   return -1; 
    261  
    262  ROAR_DBG("streams_set_fh(id=%i): g_streams[id]->id=%i", id, ROAR_STREAM(ss)->id); 
    263  
    264  ROAR_STREAM(g_streams[id])->fh = fh; 
     261 if ( (s = ROAR_STREAM(ss = g_streams[id])) == NULL ) 
     262  return -1; 
     263 
     264 ROAR_DBG("streams_set_fh(id=%i): g_streams[id]->id=%i", id, s->id); 
     265 
     266 s->fh = fh; 
    265267 
    266268 ROAR_DBG("streams_set_fh(id=%i, fh=%i): driverID=%i", id, fh, ss->driver_id); 
     
    270272 
    271273 if ( codecfilter_open(&(ss->codecfilter_inst), &(ss->codecfilter), NULL, 
    272                   ROAR_STREAM(ss)->info.codec, ss) == -1 ) { 
    273   return streams_delete(id); 
     274                  s->info.codec, ss) == -1 ) { 
     275  return streams_delete(id); // TODO: FIXME: is this correct? shoudn't we return -1 in any case here? 
    274276 } 
    275277 
     
    283285    fh = -2; 
    284286   } else { 
    285     ROAR_STREAM(g_streams[id])->fh = fh; 
     287    s->fh = fh; 
    286288   } 
    287289  } 
     
    289291 
    290292 if ( fh == -1 || fh == -2 ) { // yes, this is valid, indecats full vio! 
     293  ss->ready = 1; 
    291294  return 0; 
    292295 } 
     
    307310 
    308311 if ( dir == ROAR_DIR_FILTER ) { 
     312  ss->ready = 1; 
    309313  return 0; 
    310314 } else { 
    311   return roar_socket_nonblock(fh, ROAR_SOCKET_NONBLOCK); 
     315  if ( roar_socket_nonblock(fh, ROAR_SOCKET_NONBLOCK) == -1 ) 
     316   return -1; 
     317 
     318  ss->ready = 1; 
     319  return 0; 
    312320 } 
    313321} 
Note: See TracChangeset for help on using the changeset viewer.