Changeset 542:c71495eebd20 in roaraudio


Ignore:
Timestamp:
08/18/08 15:54:45 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added sources_add_cf()

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/include/sources.h

    r67 r542  
    1717int sources_add_raw  (char * driver, char * device, char * container, char * options, int primary); 
    1818int sources_add_wav  (char * driver, char * device, char * container, char * options, int primary); 
     19int sources_add_cf   (char * driver, char * device, char * container, char * options, int primary); 
    1920 
    2021#endif 
  • roard/sources.c

    r67 r542  
    2626 } else if ( strcmp(driver, "wav") == 0 ) { 
    2727  return sources_add_wav(driver, device, container, options, primary); 
     28 } else if ( strcmp(driver, "cf") == 0 ) { 
     29  return sources_add_cf(driver, device, container, options, primary); 
    2830 } 
    2931 
     
    9698 return 0; 
    9799} 
     100 
     101int sources_add_cf (char * driver, char * device, char * container, char * options, int primary) { 
     102 int stream; 
     103 int fh; 
     104 int codec; 
     105 struct roar_stream * s; 
     106 
     107 if ( (codec = roar_str2codec(options)) == -1 ) 
     108  return -1; 
     109 
     110 if ( (fh = open(device, O_RDONLY, 0644)) == -1 ) { 
     111  return -1; 
     112 } 
     113 
     114 if ( (stream = streams_new()) == -1 ) { 
     115  close(fh); 
     116  return -1; 
     117 } 
     118 
     119 streams_get(stream, (struct roar_stream_server **)&s); 
     120 
     121 memcpy(&(s->info), g_sa, sizeof(struct roar_audio_info)); 
     122 
     123 s->dir        = ROAR_DIR_PLAY; 
     124 s->pos_rel_id = -1; 
     125 s->info.codec = codec; 
     126 
     127 streams_set_fh(stream, fh); 
     128 
     129 client_stream_add(g_source_client, stream); 
     130 
     131 return 0; 
     132} 
     133 
    98134//ll 
Note: See TracChangeset for help on using the changeset viewer.