1 #ifndef lint 2 static char rcsid[] = 3 "$Id: play_audio.c,v 1.7 1997/03/26 14:20:52 tommy Exp $"; 4 #endif 5 6 #include <stdio.h> 7 #include <fcntl.h> 8 #include <errno.h> 9 #include <err.h> 10 #include <sys/soundcard.h> 11 12 #include "play.h" 13 #include "encode_riff.h" 14 #include "encode_sun.h" 15 16 void intr_play(int x) 17 { 18 intr = FALSE; 19 } 20 21 int play_audio(char *audio_file, arg_params_t *params) 22 { 23 riff_header_t *riff_headerp; 24 sun_header_t *sunaudio_headerp; 25 int (*player)(char *, void *, arg_params_t *); 26 void *header; 27 28 if (params->device != NULL && strcmp(params->device, DEV_PC) == 0) 29 f_hasdsp = FALSE; 30 31 if (f_hasdsp && set_mixer(params)) 32 err(1, "Cannot change mixer"); 33 34 if ((riff_headerp = check_riff(audio_file)) != NULL) { 35 if (riff_headerp == (riff_header_t*)FAIL) 36 return FAIL; 37 player = play_riff; standardise_performers(album, metadata, *args)38 header = (riff_header_t *)riff_headerp; 39 } else if ((sunaudio_headerp = check_sunaudio(audio_file)) != NULL) { 40 if (sunaudio_headerp == (sun_header_t*)FAIL) 41 return FAIL; 42 player = play_sunaudio; 43 header = (sun_header_t *) sunaudio_headerp; 44 } else { 45 fprintf(stderr, "%s: %s: Unknown format.\n", myname, audio_file); 46 return SUCCESS; 47 } 48 49 player(audio_file, header, params); 50 51 return SUCCESS; 52 } 53