Changeset 1243:741d7d9f165a in roaraudio


Ignore:
Timestamp:
02/26/09 14:06:19 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

use vio close for normal streams (non-driver)

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/driver.c

    r1228 r1243  
    106106  driver = ROAR_DRIVER_DEFAULT; 
    107107 
     108 ROAR_DBG("driver_openvio(*): searching for driver '%s'...", driver); 
     109 
    108110 for (i = 0; g_driver[i].name != NULL; i++) { 
    109111  if ( strcmp(g_driver[i].name, driver) == 0 ) { 
     
    111113 
    112114   *driver_id = i; 
     115 
     116   ROAR_DBG("driver_openvio(*): driver found: %s -> %i", driver, i); 
    113117 
    114118   if ( g_driver[i].vio_init == NULL ) { 
     
    126130   } 
    127131 
     132   ROAR_DBG("driver_openvio(*): Opening VIO driver %s(%i)...", driver, i); 
    128133   return g_driver[i].vio_init(calls, device, info, fh); 
    129134  } 
  • roard/streams.c

    r1239 r1243  
    156156  free(s->output); 
    157157 
     158/* 
    158159 if ( ROAR_STREAM(s)->fh != -1 ) 
    159160  close(ROAR_STREAM(s)->fh); 
     161*/ 
     162 
     163 roar_vio_close(&(s->vio)); 
    160164 
    161165 prim = s->primary; 
     
    193197 
    194198int streams_set_fh     (int id, int fh) { 
     199 struct roar_stream_server * ss; 
    195200 int dir; 
    196201 
    197  if ( g_streams[id] == NULL ) 
    198   return -1; 
    199  
    200  ROAR_DBG("streams_set_fh(id=%i): g_streams[id]->id=%i", id, ROAR_STREAM(g_streams[id])->id); 
     202 if ( (ss = g_streams[id]) == NULL ) 
     203  return -1; 
     204 
     205 ROAR_DBG("streams_set_fh(id=%i): g_streams[id]->id=%i", id, ROAR_STREAM(ss)->id); 
    201206 
    202207 ROAR_STREAM(g_streams[id])->fh = fh; 
    203208 
    204  if ( codecfilter_open(&(g_streams[id]->codecfilter_inst), &(g_streams[id]->codecfilter), NULL, 
    205                   ROAR_STREAM(g_streams[id])->info.codec, g_streams[id]) == -1 ) { 
     209 ROAR_DBG("streams_set_fh(id=%i, fh=%i): driverID=%i", id, fh, ss->driver_id); 
     210 
     211 if ( ss->driver_id == -1 ) 
     212  roar_vio_set_fh(&(ss->vio), fh); 
     213 
     214 if ( codecfilter_open(&(ss->codecfilter_inst), &(ss->codecfilter), NULL, 
     215                  ROAR_STREAM(ss)->info.codec, ss) == -1 ) { 
    206216  return streams_delete(id); 
    207217 } 
     
    213223// roar_socket_recvbuf(fh, ROAR_OUTPUT_CALC_OUTBUFSIZE( &(ROAR_STREAM(g_streams[id])->info) )); // set recv buffer to minimum 
    214224 
    215  dir = ROAR_STREAM(g_streams[id])->dir; 
     225 dir = ROAR_STREAM(ss)->dir; 
    216226 
    217227 if ( dir == ROAR_DIR_MONITOR || dir == ROAR_DIR_RECORD || dir == ROAR_DIR_OUTPUT ) { 
Note: See TracChangeset for help on using the changeset viewer.