Changeset 1919:ab6c76b94351 in roaraudio


Ignore:
Timestamp:
05/27/09 17:36:27 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

make it possible to set subsystem (dir)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/roard.c

    r1899 r1919  
    158158 int sync = 0; 
    159159 int32_t blocks = -1, blocksize = -1; 
     160 int dir = OAR_DIR_OUTPUT; 
    160161 
    161162 ROAR_DBG("add_output(drv='%s', dev='%s', opts='%s') = ?", drv, dev, opts); 
     
    189190 memcpy(&(s->info), g_sa, sizeof(struct roar_audio_info)); 
    190191 
    191  if ( streams_set_dir(stream, ROAR_DIR_OUTPUT, 1) == -1 ) { 
    192   streams_delete(stream); 
    193   return -1; 
    194  } 
    195192 s->pos_rel_id = -1; 
    196193// s->info.codec = codec; 
     
    228225  } else if ( strcmp(k, "blocksize") == 0 ) { 
    229226   blocksize = atoi(v); 
     227  } else if ( strcmp(k, "subsystem") == 0 ) { 
     228   if ( !strcasecmp(v, "wave") || !strcasecmp(v, "waveform") ) { 
     229    dir = OAR_DIR_OUTPUT; 
     230   } else if ( !strcasecmp(v, "midi") ) { 
     231    dir = ROAR_DIR_MIDI_OUT; 
     232   } else if ( !strcasecmp(v, "light") ) { 
     233    dir = ROAR_DIR_LIGHT_OUT; 
     234   } else { 
     235    ROAR_ERR("add_output(*): unknown subsystem '%s'", k); 
     236    streams_delete(stream); 
     237    if ( prim ) alive = 0; 
     238#ifdef ROAR_DRIVER_CODEC 
     239    if ( to_free != NULL ) 
     240     free(to_free); 
     241#endif 
     242    return -1;  
     243   } 
    230244  } else if ( strcmp(k, "meta") == 0 ) { 
    231245   streams_set_flag(stream, ROAR_FLAG_META); 
     
    251265 
    252266  k = strtok(NULL, ","); 
     267 } 
     268 
     269 if ( streams_set_dir(stream, dir, 1) == -1 ) { 
     270  streams_delete(stream); 
     271  return -1; 
    253272 } 
    254273 
Note: See TracChangeset for help on using the changeset viewer.