Changeset 5242:97239101cee9 in roaraudio for roard/sources.c
- Timestamp:
- 11/13/11 00:03:27 (12 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/sources.c
r5210 r5242 33 33 34 34 struct roar_source g_source[] = { 35 {"raw", "Raw source", "/some/file", SRC_FLAG_FHSEC, ROAR_SUBSYS_WAVEFORM, NULL, sources_add_raw}, 36 #ifdef ROAR_HAVE_IO_POSIX 37 {"wav", "Old RIFF/WAVE source", "/some/file.wav", SRC_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, sources_add_wav, NULL}, 38 #endif 35 {"raw", "DSTR source", "/some/file", SRC_FLAG_FHSEC, ROAR_SUBSYS_WAVEFORM, NULL, sources_add_dstr}, 39 36 {"cf", "Old CF source", "/some/file.ext", SRC_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, sources_add_cf, NULL}, 40 37 {"roar", "New simple RoarAudio source", "some.host", SRC_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, NULL, sources_add_roar}, … … 250 247 } 251 248 252 int sources_add_ raw (int stream , char * device, int fh,char * driver) {249 int sources_add_dstr (int stream , const char * device, int fh, const char * driver) { 253 250 struct roar_stream_server * ss; 251 struct roar_vio_defaults def; 252 253 if ( roar_vio_dstr_init_defaults(&def, ROAR_VIO_DEF_TYPE_NONE, O_RDONLY, 0644) == -1 ) 254 return -1; 254 255 255 256 streams_get(stream, &ss); … … 259 260 return -1; 260 261 } else { 261 if ( roar_vio_open_ file(&(ss->vio), device, O_RDONLY, 0644) == -1 )262 if ( roar_vio_open_dstr(&(ss->vio), device, &def, 1) == -1 ) 262 263 return -1; 263 264 } … … 266 267 } 267 268 268 #ifdef ROAR_HAVE_IO_POSIX269 int sources_add_wav (char * driver, char * device, char * container, char * options, int primary) {270 int stream;271 int fh;272 char buf[44];273 struct roar_stream * s;274 275 ROAR_WARN("sources_add_raw(*): The wav(e) source is obsolete, use source 'cf' (default)!");276 277 if ( (fh = open(device, O_RDONLY, 0644)) == -1 ) {278 return -1;279 }280 281 if (read(fh, buf, 44) != 44) {282 close(fh);283 return -1;284 }285 286 if ( (stream = streams_new()) == -1 ) {287 close(fh);288 return -1;289 }290 291 streams_get_clientobj(stream, &s);292 293 memcpy(&(s->info), g_sa, sizeof(struct roar_audio_info));294 295 memcpy(&(s->info.rate ), buf+24, 4);296 memcpy(&(s->info.channels), buf+22, 2);297 memcpy(&(s->info.bits ), buf+34, 2);298 299 if ( streams_set_dir(stream, ROAR_DIR_PLAY, 1) == -1 ) {300 streams_delete(stream);301 close(fh);302 return -1;303 }304 s->pos_rel_id = -1;305 306 streams_set_fh(stream, fh);307 308 streams_set_flag(stream, ROAR_FLAG_SOURCE);309 client_stream_add(g_source_client, stream);310 311 return 0;312 }313 #endif314 315 269 #define _ret(x) streams_delete(stream); return (x) 316 270 317 int sources_add_cf (c har * driver, char * device, char * container,char * options, int primary) {271 int sources_add_cf (const char * driver, const char * device, const char * container, const char * options, int primary) { 318 272 int stream; 319 273 int codec; … … 359 313 ROAR_DBG("sources_add_cf(*) = ?"); 360 314 361 // TODO: fin yout a better way of doing auto detetion without need for seek!315 // TODO: find out a better way of doing auto detetion without need for seek! 362 316 if ( options == NULL ) { 363 317 if ( (len = roar_vio_read(vio, buf, 64)) < 1 ) { … … 402 356 403 357 #ifndef ROAR_WITHOUT_DCOMP_CDRIVER 404 int sources_add_cdriver (int stream , c har * device, int fh,char * driver) {358 int sources_add_cdriver (int stream , const char * device, int fh, const char * driver) { 405 359 struct roar_stream_server * ss; 406 360 … … 460 414 } 461 415 462 int sources_add_radionoise (int stream, c har * device, int fh,char * driver) {416 int sources_add_radionoise (int stream, const char * device, int fh, const char * driver) { 463 417 struct roar_stream_server * ss; 464 418 struct roar_audio_info * info; … … 484 438 } 485 439 486 int sources_add_roar (int stream, c har * device, int fh,char * driver) {440 int sources_add_roar (int stream, const char * device, int fh, const char * driver) { 487 441 struct roar_stream_server * ss; 488 442 struct roar_stream * s;
Note: See TracChangeset
for help on using the changeset viewer.